code: public <SUB extends ObjectValidatorBuilder<V, ? extends SELF, ?>> SUB withValues(BiFunction<ObjectValidatorBuilderFactory<SELF>, V, SUB> factory) {
  
      if (this.valueSubBuilder != null) {
        throw new IllegalStateException("valueSubBuilder already exists!");
      }
      SUB sub = factory.apply(getSubFactory(), null);
      this.valueSubBuilder = sub;
      return sub;
    }
docs: Creates a new {@link ObjectValidatorBuilder builder} for the {@link AbstractValidator validators} to invoke for
  each {@link Map#values() values} in the {@link Map}.<br/>
  Use {@link #and()} to return to this builder after the sub-builder is complete.<br/>
  A typical usage looks like this:
  
  <pre>
  [...].withValues((f, v) -> f.create(v)).[...].and().[...].build()
  </pre>
  
  @param <SUB> the generic type of the returned sub-builder.
  @param factory lambda function used to create the returned sub-builder by calling the according {@code create}
  method on the supplied {@link ObjectValidatorBuilderFactory} with the given dummy element.
  @return the new sub-builder.