private void doCheck() throws IOException {
      if (fileAdapter == null) {  // TODO mb to check if fileAdapter has been already closed? however "catch" will handle this, it's bad style
        return;
      }

      long deltaLength = refreshFileLength();
      if (deltaLength != 0) {
        removeOutdatedPagesFromCash();
        onFileChanged(deltaLength > 0);
      }
    }
private void doCheck()