@Override
    public <R> Admin<R> split(final R r, final Step<T, R> step) {
        try {
            final AbstractTraverser<R> clone = (AbstractTraverser<R>) super.clone();
            clone.t = r;
            return clone;
        } catch (final CloneNotSupportedException e) {
            throw new IllegalStateException(e.getMessage(), e);
        }
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/AbstractTraverser.java