@Override
    public void apply(final Traversal.Admin<?, ?> traversal) {
        if (traversal.isRoot() && !this.requirements.isEmpty())
            traversal.addStep(new RequirementsStep<>(traversal, this.requirements));
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/RequirementsStrategy.java