From 21c304dc3fa5bbe1c7a3713455efa59d8bf7bc12 Mon Sep 17 00:00:00 2001 From: Jon Schneider Date: Mon, 6 Apr 2015 20:39:27 -0700 Subject: [PATCH] Use FastNoSuchElementException on TraverserSet.remove() --- .../process/traversal/traverser/util/TraverserSet.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java index 0a0cc5aeb06..9b6562d6c6f 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java @@ -18,6 +18,7 @@ */ package org.apache.tinkerpop.gremlin.process.traversal.traverser.util; +import org.apache.tinkerpop.gremlin.process.traversal.FastNoSuchElementException; import org.apache.tinkerpop.gremlin.process.traversal.Traverser; import java.io.Serializable; @@ -95,7 +96,13 @@ public boolean offer(final Traverser.Admin traverser) { @Override public Traverser.Admin remove() { // pop, exception if empty - return this.map.remove(this.map.values().iterator().next()); + final Iterator> iterator = this.map.values().iterator(); + if (!iterator.hasNext()) { + throw FastNoSuchElementException.instance(); + } + Traverser.Admin next = iterator.next(); + iterator.remove(); + return next; } @Override