docs: private int setFilePos(CachedObject r) {
  
          int rowSize = r.getStorageSize();
          int i       = freeBlocks == null ? -1
                                           : freeBlocks.get(rowSize);
  
          if (i == -1) {
              i = (int) (fileFreePosition / cacheFileScale);
  
              long newFreePosition = fileFreePosition + rowSize;
  
              if (newFreePosition > maxDataFileSize) {
                  throw Error.error(ErrorCode.DATA_FILE_IS_FULL);
              }
  
              fileFreePosition = newFreePosition;
          }
  
          r.setPos(i);
  
          return i;
      }