code: private void allocateNormal(PooledByteBuf<T> buf, int reqCapacity, int normCapacity) {
          if (q050.allocate(buf, reqCapacity, normCapacity) || q025.allocate(buf, reqCapacity, normCapacity) ||
              q000.allocate(buf, reqCapacity, normCapacity) || qInit.allocate(buf, reqCapacity, normCapacity) ||
              q075.allocate(buf, reqCapacity, normCapacity)) {
              return;
          }
  
          // Add a new chunk.
          PoolChunk<T> c = newChunk(pageSize, maxOrder, pageShifts, chunkSize);
          boolean success = c.allocate(buf, reqCapacity, normCapacity);
          assert success;
          qInit.add(c);
      }
docs: Method must be called inside synchronized(this) { ... } block