/**
  * Read controller from the request.
  *
  * @return the search controller
  */
 private SearchController readController() {
   FacesContextBroker broker = new FacesContextBroker();
   @SuppressWarnings("unused")
   FacesContext fc = broker.getFacesContext();
   // intentionally not used
   SearchController controller =
       (SearchController) broker.resolveManagedBean(JSFBEAN_SEARCH_CONTROLLER);
   controller.setSearchCriteria(this.getCriteria());
   return controller;
 }
  /**
   * Write.
   *
   * @param result the result
   */
  public void write(SearchResult result) {

    SearchController controller = this.readController();
    controller.setSearchCriteria(this.getCriteria());
    this.getCriteria().getSearchFilterPageCursor().setTotalRecordCount(result.getMaxQueryHits());

    controller.setSearchResult(result);
    controller.setWasSearched(true);
    try {
      showResults();
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }