docs: public boolean setMainKey(boolean bDisplayOption, Boolean boolSetModified, boolean bSetIfModified)
      {
          super.setMainKey(bDisplayOption, boolSetModified, bSetIfModified);
          boolean bNonNulls = false;  // Default to yes, all keys are null.
          if (m_fldMainFile != null)
              if ((m_bSetFilterIfNull) || (!m_fldMainFile.isNull()))
          {
              if ((bSetIfModified) || (!m_fldThisFile.isModified()) || (m_fldThisFile.isNull()))
                  m_fldThisFile.moveFieldToThis(m_fldMainFile, bDisplayOption, DBConstants.READ_MOVE);
              if (boolSetModified != null)
                  m_fldThisFile.setModified(boolSetModified.booleanValue());
              if (!m_fldThisFile.isNull())
                  bNonNulls = true;   // Non null.
          }
          if (m_fldMainFile2 != null)
              if ((m_bSetFilterIfNull) || (!m_fldMainFile2.isNull()))
          {
              if ((bSetIfModified) || (!m_fldThisFile2.isModified()) || (m_fldThisFile2.isNull()))
                  m_fldThisFile2.moveFieldToThis(m_fldMainFile2, bDisplayOption, DBConstants.READ_MOVE);
              if (boolSetModified != null)
                  m_fldThisFile2.setModified(boolSetModified.booleanValue());
              if (!m_fldThisFile2.isNull())
                  bNonNulls = true;   // Non null.
          }
          if (m_fldMainFile3 != null)
              if ((m_bSetFilterIfNull) || (!m_fldMainFile3.isNull()))
          {
              if ((bSetIfModified) || (!m_fldThisFile3.isModified()) || (m_fldThisFile3.isNull()))
                  m_fldThisFile3.moveFieldToThis(m_fldMainFile3, bDisplayOption, DBConstants.READ_MOVE);
              if (boolSetModified != null)
                  m_fldThisFile3.setModified(boolSetModified.booleanValue());
              if (!m_fldThisFile3.isNull())
                  bNonNulls = true;   // Non null.
          }
          if (m_recordMain != null)
          {
              ReferenceField fieldThisRecord = this.getOwner().getReferenceField(m_recordMain);
              if (m_bRefreshLastIfNotCurrent)
                  if (m_recordMain.getEditMode() == DBConstants.EDIT_NONE)
              {   // If there is not a current record refresh the last record.
                  try {
                      Object bookmark = m_recordMain.getLastModified(DBConstants.DATA_SOURCE_HANDLE);
                      if (bookmark != null)
                          m_recordMain.setHandle(bookmark, DBConstants.DATA_SOURCE_HANDLE);
                  } catch (DBException ex)    {
                      ex.printStackTrace();
                  }
              }
              if ((m_bSetFilterIfNull) || (!m_recordMain.getCounterField().isNull()))
              {
                  if ((bSetIfModified) || (!fieldThisRecord.isModified()) || (fieldThisRecord.isNull()))
                      fieldThisRecord.setReference(m_recordMain, bDisplayOption, DBConstants.READ_MOVE);    // Set the booking number in pax file
                  if (boolSetModified != null)
                      fieldThisRecord.setModified(boolSetModified.booleanValue());
              }
              if (!fieldThisRecord.isNull())
                  bNonNulls = true;   // Non null.
          }
          return bNonNulls;
      }