docs: public T alloc() {
      if (numFree == 0) {
        Preconditions.checkState(numAlloc < maxSize);
        numAlloc++;
        return allocator.get();
      } else {
        T item = free[numFree - 1];
        numFree--;
        return item;
      }
    }