private void initializeSizeClasses(int minSize, int maxSize) {
    int nDeltaLimit = 1 << log2SizeClassGroup;
    int log2Group = log2MinSize;
    int log2Delta = log2MinSize - log2SizeClassGroup;

    int sizeCount = 0;
    int size = calculateSize(log2Group, 0, log2Delta);
    sizeIdx2sizeTab[sizeCount++] = size; // Initial size

    // Iterate through the remaining size classes and calculate their sizes
    for (; size < maxSize; log2Group++, log2Delta++) {
      for (int nDelta = 1; nDelta <= nDeltaLimit && size <= maxSize; nDelta++) {
        size = calculateSize(log2Group, nDelta, log2Delta);
        sizeIdx2sizeTab[sizeCount++] = size;
      }
    }
  }
Initializes the size class table by calculating the memory block sizes for each size class.

@param minSize The minimum memory block size.
@param maxSize The maximum memory block size.
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/binaryallocator/utils/SizeClasses.java