static <T, V> TargetValue<V> composite(@NotNull Collection<? extends TargetValue<T>> values, @NotNull Function<? super Collection<T>, ? extends V> joiner) {
    return new CompositeTargetValue<>(values, joiner);
  }
static <T, V> TargetValue<V> composite(@NotNull Collection<? extends TargetValue<T>> values, @NotNull Function<? super Collection<T>, ? extends V> joiner)