@Override
    public boolean equals(final Object other) {
        return other instanceof ValueTraversal
                && Objects.equals(((ValueTraversal) other).propertyKey, this.propertyKey);
    }
If there is a "start" traverser this method will return {@code true} and otherwise {@code false} and in either
case will always return as such, irrespective of calls to {@link #next()}. Calling methods should account for
this behavior on their own.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/ValueTraversal.java