docs: public void prePrintReport()
      {
          // First step - Get the source and analysis files.
          Record recBasis = this.getBasisRecord();        // Record to analyze
          Record recSummary = this.getSummaryRecord();    // Record to summarize the data into
          if (recSummary == null)
              recSummary = this.makeDefaultAnalysisRecord(recBasis);
  
          if (recSummary.getCounterField() == recSummary.getKeyArea().getField(0))
              if (recSummary.getKeyAreaCount() > 1)
                  recSummary.setKeyArea(DBConstants.MAIN_KEY_FIELD + 1);
          // Step 2 - Get the field mappings (keys and summary fields).
          BaseField[][] mxKeyFields = this.getKeyMap(recSummary, recBasis);
          BaseField[][] mxDataFields = this.getDataMap(recSummary, recBasis);
          // Step 3 - Read through the source file and update the summary file.
          try{
              while (recBasis.hasNext())
              {
                  recBasis.next();
                  this.addSummary(recSummary, mxKeyFields, mxDataFields);
              }
          } catch (DBException ex)    {
              ex.printStackTrace();
          }
      }