public static String traversalString(final Traversal.Admin<?, ?> traversal) {
        // generally speaking the need to show the profile steps in a toString() is limited to TinkerPop developers.
        // most users would be confused by the output to profile as these steps are proliferated about the traversal
        // and are internal collectors of data not the actual steps the user specified. the traversal profile output
        // looks cleaner without this cruft and hopefully the lack of it's existence should not confuse TinkerPop
        // developers trying to debug things. when You, yes, you future Stephen, find this comment....sorry?
        return traversal.getSteps().stream().filter(
                    s -> !(s instanceof ProfileStep) && !(s instanceof ProfileSideEffectStep)).
                collect(Collectors.toList()).toString();
    }
Construct the representation for a {@link Graph}.

@param internalString a mapper {@link String} that appends to the end of the standard representation
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java