@Override
            public S next() {
                if (this.lastCount > 0l) {
                    this.lastCount--;
                    return this.lastObject;
                }
                final Map.Entry<S, Long> entry = entryIterator.next();
                if (entry.getValue() == 1) {
                    return entry.getKey();
                } else {
                    this.lastObject = entry.getKey();
                    this.lastCount = entry.getValue() - 1;
                    return this.lastObject;
                }
            }
@return true if it is guaranteed that all contained elements/objects are of the same type/class and not null (but not
necessarily, i.e., they can have the same type/class, but we may return false here if it was not analysed/identified)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/BulkSet.java