/** * Creates a values iterator. * Subclasses can override this to return iterators with different properties. * * @param iterator the iterator to decorate * @return the values iterator */ protected Iterator<V> createValuesIterator(final Iterator<V> iterator) { return new ValuesIterator<>(iterator, this); }