@Override
 public void produce(DataRowSet parameter, DataRowSet response, QueryConfiguration config)
     throws DataProviderException {
   int nextRow = 0;
   for (int i = 0; i < parameter.size(); i++) {
     final String id = parameter.getValueAsText(symbolQuery, i).toUpperCase();
     Collection<Security> securities =
         DaoLocator.securityDao.filter(
             new Filter<Security>() {
               @Override
               public boolean accept(Security security) {
                 return security.getSymbol().contains(id);
               }
             });
     //
     for (Security security : securities) {
       DataRowSet rowset = marshaller.marshal(security);
       nextRow = addRowSet(response, rowset, nextRow);
     }
   }
 }
 public SymbolSearchProvider() {
   super("SymbolSearchProvider", parameterMeta, optionalMeta, marshaller.getMetadata());
 }