@Override
    public void addChildOption(final M pickToken, final Traversal.Admin<S, E> traversalOption) {
        if (pickToken instanceof Pick) {
            if (Pick.any.equals(pickToken))
                throw new IllegalArgumentException("Choose step can not have an any-option as only one option per traverser is allowed");
            if (this.traversalPickOptions.containsKey(pickToken))
                throw new IllegalArgumentException("Choose step can only have one traversal per pick token: " + pickToken);
        }
        super.addChildOption(pickToken, traversalOption);
    }
A step which offers a choice of two or more Traversals to take.

@author Joshua Shinavier (http://fortytwo.net)
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseStep.java