private static String generateLabel(final Step<?, ?> step) {
        // use a predictable label here rather than a UUID. the UUID step label might get generated in
        // different threads in OLAP and misbehave for something like:
        // g.withComputer().V().as("a").out("created").where(__.as("a").values("name").is("josh")).in("created").values("name")
        // because labels won't propagate for the SelectOneStep with processTraverserPathLabels if the labels
        // end up being different. this bug has only recently shown itself an only under conditions i can't
        // quite identify. it may have been masked for years by the "is.testing" flag which was pinning the
        // label to "xyz" and for maven that flag is enabled. not sure if using the step id is "right" or "best"
        // but it seems to give a predictable label/unique and actually one nicer label than the UUID. in the
        // profile() the UUID almost looks like a bug if you don't understand why it's there. at least with
        // this labelling the name of the strategy gives a hint
        return IS_TESTING ? "xyz" : "[" + PathProcessorStrategy.class.getSimpleName() + "-" +
                step.getId().replace(".", "+").replace("()", "") + "]";
    }
{@code PathProcessStrategy} is an OLAP strategy that does its best to turn non-local children in {@code where()}
and {@code select()} into local children by inlining components of the non-local child. In this way,
{@code PathProcessStrategy} helps to ensure that more traversals meet the local child constraint imposed on OLAP
traversals.

@author Marko A. Rodriguez (http://markorodriguez.com)
@example <pre>
__.select(a).by(x)               // is replaced by select(a).map(x)
__.select(a,b).by(x).by(y)       // is replaced by select(a).by(x).as(a).select(b).by(y).as(b).select(a,b)
__.where(as(a).out().as(b))      // is replaced by as(xyz).select(a).where(out().as(b)).select(xyz)
__.where(as(a).out())            // is replaced by as(xyz).select(a).filter(out()).select(xyz)
</pre>
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/PathProcessorStrategy.java