docs: public synchronized boolean canBeDeallocate() {
      if (shareCounter > 0 || isBeingDeallocate) {
        return false;
      }
      if (!inCache.get()) {
        isBeingDeallocate = true;
        return true;
      }
      return false;
    }