code: public static <OUTPUT, INPUT extends Comparable<INPUT>> List<OUTPUT> executeLargeInputs(Collection<INPUT> input, Function<List<INPUT>, List<OUTPUT>> function,
      IntFunction<Integer> partitionSizeManipulations) {
      return executeLargeInputs(input, function, size -> size == 0 ? Collections.emptyList() : new ArrayList<>(size), partitionSizeManipulations);
    }
docs: Partition by 1000 elements a list of input and execute a function on each part.
  
  The goal is to prevent issue with ORACLE when there's more than 1000 elements in a 'in ('X', 'Y', ...)'
  and with MsSQL when there's more than 2000 parameters in a query