private EditorModel.DataProvider implementDataProviderForEditorModel() {
    return new EditorModel.DataProvider() {
      @Override
      public Page getPage(long pageNumber) throws IOException {
        return fileManager.getPage_wait(pageNumber);
      }

      @Override
      public long getPagesAmount() throws IOException {
        return fileManager.getPagesAmount();
      }

      @Override
      public Project getProject() {
        return project;
      }

      @Override
      public void requestReadPage(long pageNumber, ReadingPageResultHandler readingPageResultHandler) {
        fileManager.requestReadPage(pageNumber, readingPageResultHandler);
      }

      @Override
      public List<SearchResult> getSearchResultsInPage(Page page) {
        if (searchManager != null) {
          return searchManager.getSearchResultsInPage(page);
        }
        return null;
      }
    };
  }
private EditorModel.DataProvider implementDataProviderForEditorModel()