@Override
public GiraphEdge next() {
try {
while (true) {
if (this.edgeIterator.hasNext())
return new GiraphEdge((TinkerEdge) this.edgeIterator.next(), this.graph);
if (this.readers.isEmpty())
throw FastNoSuchElementException.instance();
if (this.readers.peek().nextVertex()) {
this.edgeIterator = ((GiraphComputeVertex) this.readers.peek().getCurrentVertex()).getBaseVertex().iterators().edgeIterator(Direction.OUT);
} else {