@Override
      public @Nullable DirectBufferWrapper remove(long key) {
        assert pagesAccessLock.isHeldByCurrentThread();
        // this method can be called after removeEldestEntry
        DirectBufferWrapper wrapper = super.remove(key);
        if (wrapper != null) {
          //noinspection NonAtomicOperationOnVolatileField
          myMappingChangeCount++;
          assertUnderSegmentAllocationLock();
          pagesToRemoveByPageId.put(key, wrapper);
          totalSizeCached -= wrapper.getLength();
        }
        return wrapper;
      }
@Override
      public @Nullable DirectBufferWrapper remove(long key)