docs: public int doRecordChange(FieldInfo field, int iChangeType, boolean bDisplayOption)
      { // Write/Update a record
          int iErrorCode = DBConstants.NORMAL_RETURN;
          switch (iChangeType)
          {
              case DBConstants.REFRESH_TYPE:
              case DBConstants.UPDATE_TYPE:
                  if (m_bFirstTimeOnly)
                      break;
              case DBConstants.ADD_TYPE:
                  iErrorCode = this.setUserID(iChangeType, bDisplayOption);
                  if (iErrorCode != DBConstants.NORMAL_RETURN)
                      return iErrorCode;
                  break;
              case DBConstants.FIELD_CHANGED_TYPE:
                  if ((this.getOwner().getEditMode() == DBConstants.EDIT_ADD)
                          && (this.getOwner().getField(userIdFieldName).getValue() == -1))
              {   // Special case - Init Record did not have record owner, but I probably do now.
                  iErrorCode = this.setUserID(iChangeType, bDisplayOption);
                  if (iErrorCode != DBConstants.NORMAL_RETURN)
                      return iErrorCode;
              }            
          }
          return super.doRecordChange(field, iChangeType, bDisplayOption);        // Initialize the record
      }