/**
   * Parses the keywords and sets them into the data provider, forces update of the components that
   * need to as a result of the different filtering
   */
  private void updateFilter(AjaxRequestTarget target, String flatKeywords) {
    if ("".equals(flatKeywords)) {
      dataProvider.setKeywords(null);
      filter.setModelObject("");
      dataView.setCurrentPage(0);
    } else {
      String[] keywords = flatKeywords.split("\\s+");
      dataProvider.setKeywords(keywords);
      dataView.setCurrentPage(0);
    }
    pagerDelegate.updateMatched();
    navigatorTop.updateMatched();
    navigatorBottom.updateMatched();
    setSelection(false);

    target.addComponent(listContainer);
    target.addComponent(navigatorTop);
    target.addComponent(navigatorBottom);
  }
 /** Sets back to the first page, clears the selection and */
 public void reset() {
   dataView.setCurrentPage(0);
   clearSelection();
   dataProvider.setSort(null);
 }