@Override
    public OptionalStep<S> clone() {
        final OptionalStep<S> clone = (OptionalStep<S>) super.clone();
        clone.optionalTraversal = this.optionalTraversal.clone();
        return clone;
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/OptionalStep.java