docs: protected List<T> getBatchChunk(List<T> list, int batchSize, int chunkNumber) {
          if (list == null || list.isEmpty()) {
              return null;
          }
  
          final int start = chunkNumber * batchSize;
          final int end = Math.min(start + batchSize, list.size());
          if (start >= end) {
              return null;
          }
          return list.subList(start, end);
      }