@Override
public void generateTraversers(final TraverserGenerator traverserGenerator) {
if (PROFILING_ENABLED) TraversalMetrics.start(this);
try {
this.start = Vertex.class.isAssignableFrom(this.returnClass) ? new GiraphVertexIterator(this.graph) : new GiraphEdgeIterator(this.graph);
super.generateTraversers(traverserGenerator);
} catch (final Exception e) {
throw new IllegalStateException(e.getMessage(), e);
} finally {
if (PROFILING_ENABLED) TraversalMetrics.stop(this);