protected void onFinished(long token) {
   try {
     if (listener != null) {
       listener.onFinished(token);
     }
   } catch (Throwable e) {
     LOG.warn("Error sending results back to receiver: " + e.getMessage());
   }
 }
 protected void onResults(SearchPerformer performer, List<? extends SearchResult> results) {
   try {
     if (listener != null) {
       listener.onResults(performer, results);
     }
   } catch (Throwable e) {
     LOG.warn("Error sending results back to receiver: " + e.getMessage());
   }
 }