code: @Override
    public void process(CAS aCAS) throws AnalysisEngineProcessException {
      try {
        JCas jcas = aCAS.getJCas();
        ExperimentUUID experiment = ProcessingStepUtils.getCurrentExperiment(jcas);
        AnnotationIndex<Annotation> steps = jcas.getAnnotationIndex(ProcessingStep.type);
        String uuid = experiment.getUuid();
        Trace trace = ProcessingStepUtils.getTrace(steps);
        Key key = new Key(uuid, trace, experiment.getStageId());
        experiments.add(new ExperimentKey(key.getExperiment(), key.getStage()));
        for (TraceListener listener : listeners) {
          listener.process(key, jcas);
        }
      } catch (Exception e) {
        throw new AnalysisEngineProcessException(e);
      }
    }
docs: Reads the results from the retrieval phase from the DOCUMENT and the DOCUEMNT_GS views of the
  JCAs, and generates and evaluates them using the evaluate method from the FMeasureConsumer
  class.