@Override
    public void apply(final Traversal.Admin<?, ?> traversal) {
        for (final Step step : traversal.getSteps()) {
            if (step instanceof Mutating)
                throw new VerificationException("The provided traversal has a mutating step and thus is not read only: " + step, traversal);
        }
    }
Detects steps marked with {@link Mutating} and throws an {@link IllegalStateException} if one is found.

@author Marko A. Rodriguez (http://markorodriguez.com)
@example <pre>
__.out().addE()                 // throws an VerificationException
__.addV()                       // throws an VerificationException
__.property(key,value)          // throws an VerificationException
__.out().drop()                 // throws an VerificationException
</pre>
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReadOnlyStrategy.java