code: public static <T, V, R extends Collection<V>> R collectIf(
              Iterable<T> iterable,
              Predicate<? super T> predicate,
              Function<? super T, V> function,
              R target,
              boolean allowReorderedResult)
      {
          return FJIterate.collectIf(
                  iterable,
                  predicate,
                  function,
                  target,
                  FJIterate.DEFAULT_MIN_FORK_SIZE,
                  FJIterate.FORK_JOIN_POOL,
                  allowReorderedResult);
      }
docs: Same effect as {@link Iterate#collectIf(Iterable, Predicate, Function)},
  but executed in parallel batches, and writing output into the specified collection.
  
  @param target               Where to write the output.
  @param allowReorderedResult If the result can be in a different order.
  Allowing reordering may yield faster execution.
  @return The 'target' collection, with the collected elements added.