if (engine.equals(TraversalEngine.STANDARD))
return;
final StartStep<Element> startStep = (StartStep) TraversalHelper.getStart(traversal);
if (startStep.startAssignableTo(Vertex.class, Edge.class)) {
final Element element = ((StartStep<?>) startStep).getStart();
final String label = startStep.getLabel();
TraversalHelper.removeStep(startStep, traversal);
if (TraversalHelper.isLabeled(label)) {
final Step identityStep = new IdentityStep(traversal);
identityStep.setLabel(label);
TraversalHelper.insertStep(identityStep, 0, traversal);
}
TraversalHelper.insertStep(new HasStep(traversal, new HasContainer(T.id, Compare.eq, element.id())), 0, traversal);
TraversalHelper.insertStep(new TinkerGraphStep<>(traversal, element.getClass()), 0, traversal);
}
}