public List executeSearch(String search, int start, int count) {
    ValidationResult validationResult = null;
    SearchQueryMetaData query = buildSearchQuery(validationResult, search);

    SearchEngine se = SearchEngine.getInstance();
    Result result = se.executeSearch(query, start, count, 0);

    return result.getSearchResult().getElements();
  }
  private void buildSearchParams(
      String search, ValidationResult validationResult, SearchQueryBuilder builder) {

    SearchEngine se = SearchEngine.getInstance();
    SearchMetaData smd = se.getSearch(search);
    List spmds = smd.getSearchParameters();

    for (Iterator it = spmds.iterator(); it.hasNext(); ) {
      SearchParameterMetaData spmd = (SearchParameterMetaData) it.next();
      ContainerMetaData cmd = spmd.getContainer();
    }
  }
  private void buildResultParams(String search, SearchQueryBuilder builder) {
    SearchEngine se = SearchEngine.getInstance();
    SearchMetaData smd = se.getSearch(search);

    builder.buildResultParams(smd.getSelectedResultParameterNames());
  }