docs: public void init(Record record, Record recordMain, String keyName, BaseField fldMainFile, String fldMainFileName, BaseField fldMainFile2, String fldMainFileName2, BaseField fldMainFile3, String fldMainFileName3, boolean bSetFilterIfNull, boolean bRefreshLastIfNotCurrent, boolean bAddNewHeaderOnAdd)
      {   // For this to work right, the booking number field needs a listener to re-select this file whenever it changes
          super.init(record, fldMainFileName, null, fldMainFileName2, null, fldMainFileName3, null);
  
          m_recordMain = recordMain;
          
          m_strKeyName = keyName;
          
          m_fldMainFile = fldMainFile;
          m_fldMainFile2 = fldMainFile2;
          m_fldMainFile3 = fldMainFile3;
  
          m_bSetFilterIfNull = bSetFilterIfNull;
          m_bRefreshLastIfNotCurrent = bRefreshLastIfNotCurrent;
          m_bAddNewHeaderOnAdd = bAddNewHeaderOnAdd;
  
          if (fldMainFile != null)
              fldMainFile.addListener(new FieldRemoveBOnCloseHandler(this));  // Remove this if you close the file first
          else if (recordMain != null)
              recordMain.addListener(new FileRemoveBOnCloseHandler(this));
      }