@Override
    public int hashCode() {
        int result = this.getClass().hashCode(), i = 0;
        for (final Traversal.Admin<A, B> traversal : this.traversals) {
            result ^= Integer.rotateLeft(traversal.hashCode(), i++);
        }
        return result;
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalRing.java