@Override
  public void newSearcher(
      SolrIndexSearcher solrIndexSearcher, SolrIndexSearcher solrIndexSearcher2) {
    logger.debug("newSearcher called");

    Matcher matcher = new Matcher(solrIndexSearcher, new ScoreTransformer(), this.originatorURI);
    matcher.addMatchProcessor(new HintSender());

    while (documentStorage.hasNext())
      try {
        matcher.processDocument(documentStorage.pop());
      } catch (IOException e) {
        logger.error(e.getMessage(), e);
      }

    matcher.processMatches();
  }
 @Override
 public void init(NamedList namedList) {
   logger.debug("initiating matcher");
   documentStorage = DocumentStorage.getInstance();
   Properties props = new Properties();
   try {
     InputStream is = Config.getInputStreamForConfigFile(Config.PROPERTIES_FILE_MATCHER);
     props.load(is);
     if (is != null)
       try {
         is.close();
       } catch (Exception e) {
         logger.debug("error closing input stream on " + Config.PROPERTIES_FILE_MATCHER);
       }
   } catch (IOException e) {
     logger.error("could not load WON matcher property file {}", PROPERTY_FILE_NAME, e);
   }
   try {
     originatorURI = URI.create(props.getProperty("matcher.uri"));
   } catch (Exception e) {
     logger.error("could not generate macher uri from property file {}", PROPERTY_FILE_NAME, e);
   }
 }