docs: public void addListener(Record record, FileListener listener)
      {
          record.doAddListener(listener);
          boolean bOldState = listener.setEnabledListener(false);      // To disable recursive forever loop!
          BaseListener nextListener = listener.setNextListener(null);     // Make sure this is the ONLY listener in the chain to get this call
          if (record.getEditMode() == Constants.EDIT_ADD)
          {
              boolean[] rgbModified = this.getRecord().getModified();
              listener.doNewRecord(DBConstants.DISPLAY);
              this.getRecord().setModified(rgbModified);   // Restore since doNew should not change modified fields.
          }
          else if ((record.getEditMode() == Constants.EDIT_IN_PROGRESS) || (record.getEditMode() == Constants.EDIT_CURRENT))
              listener.doValidRecord(DBConstants.DISPLAY);
          listener.setNextListener(nextListener);
          listener.setEnabledListener(bOldState);   // Renable the listener to eliminate echos
      }