private void removeOutdatedPagesFromCash() throws IOException {
      myLock.lock();
      try {
        Iterator<Page> iterator = notUpdatedPagesCash.iterator();
        while (iterator.hasNext()) {
          Page cashedPage = iterator.next();
          String physicalPageText = fileAdapter.getPageText(cashedPage.getPageNumber());
          if (!cashedPage.getText().equals(physicalPageText)) {
            iterator.remove(); // TODO probably just update text in cashed page here instead of removing of page from cash?
          }
        }
      }
      finally {
        myLock.unlock();
      }
    }
private void removeOutdatedPagesFromCash()