@Override
    public int hashCode() {
        // keys' order does not matter because cap("x", "y") and cap("y", "x") should be considered equal.
        return Objects.hash(super.hashCode(), Arrays.hashCode(sideEffectKeys.stream().sorted().toArray()));
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectCapStep.java