public default void modulateBy(final Function function, final Comparator comparator) {
        if (function instanceof T)
            this.modulateBy((T) function, comparator);
        else if (function instanceof Column)
            this.modulateBy((Column) function, comparator);
        else
            this.modulateBy(__.map(new FunctionTraverser<>(function)).asAdmin(), comparator);
    }
A {@code ByModulating} step is able to take {@link GraphTraversal#by} calls. All the methods have default
implementations except {@link ByModulating#modulateBy(Traversal.Admin)}. In short, given a traversal, what should
the {@code ByModulating} step do with it.

@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/ByModulating.java