docs: public static <T> List<List<T>> splitList(List<T> source, int count)
      {
          if(count <= 0)
              throw new RuntimeException("Chunks must be greater then 0, not " + count);
          List<List<T>> chunks = new ArrayList<List<T>>(count);
          int baseSize = source.size() / count;
          int remainder = source.size() % count;
          int start = 0;
          
          
          for(int i = 0; i < count; i++)
          {
              int end = start+baseSize;
              if(remainder-- > 0)
                  end++;
              chunks.add(source.subList(start, end));
              start = end;
          }
          
          return chunks;
      }