@Override
    public CallStep<S, E> clone() {
        final CallStep<S, E> clone = (CallStep<S, E>) super.clone();
        clone.mapTraversal = mapTraversal != null ? mapTraversal.clone() : null;
        clone.parameters = parameters.clone();
        clone.ctx = new ServiceCallContext(traversal, clone);
        clone.iterator = EmptyCloseableIterator.instance();
        clone.head = null;
        return clone;
    }
Reference implementation for service calls via the {@link ServiceRegistry} and {@link Service} APIs. This step
can be used to start a traversal or it can be used mid-traversal with one at a time or barrier execution.

@author Mike Personick (http://github.com/mikepersonick)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CallStep.java