docs: private static Object[] spread(Object[] args, boolean spreadCall) {
          if (!spreadCall) return args;
          Object[] normalArguments = (Object[]) args[1];
          Object[] ret = new Object[normalArguments.length+1];
          ret[0] = args[0];
          System.arraycopy(normalArguments, 0, ret, 1, ret.length-1);
          return ret;
      }