code: public void process() {
      // are we ready to process yet, or have we had an error, and are
      // waiting a bit longer in the hope that it will resolve itself?
      if (error_skips > 0) {
        error_skips--;
        return;
      }
      
      try {
        if (logger != null)
          logger.debug("Starting processing");
        status = "Processing";
        lastCheck = System.currentTimeMillis();
  
        // FIXME: how to break off processing if we don't want to keep going?
        processor.deduplicate(batch_size);
  
        status = "Sleeping";
        if (logger != null)
          logger.debug("Finished processing");
      } catch (Throwable e) {
        status = "Thread blocked on error: " + e;
        if (logger != null)
          logger.error("Error in processing; waiting", e);
        error_skips = error_factor;
      }
    }
docs: Runs the record linkage process.