code: public static <T> List<List<T>> split(final Collection<? extends T> c, final int size) {
          if (size < 1) {
              throw new IllegalArgumentException("The parameter 'size' can not be zero or less than zero");
          }
  
          if (N.isNullOrEmpty(c)) {
              return new ArrayList<>();
          }
  
          return split(c, 0, c.size(), size);
      }
docs: Returns consecutive sub lists of a collection, each of the same size (the final list may be smaller).
  or an empty List if the specified collection is null or empty. The order of elements in the original collection is kept
  
  @param c
  @param size
  @return