docs: public int doRecordChange(FieldInfo field, int iChangeType, boolean bDisplayOption)
      { // Read a valid record
          int iErrorCode = super.doRecordChange(field, iChangeType, bDisplayOption);      // Initialize the record
          if (iErrorCode == DBConstants.NORMAL_RETURN)
          {
              if (iChangeType == DBConstants.AFTER_ADD_TYPE)
              {
                  Object bookmark = this.getOwner().getLastModified(m_iHandleType);
                  if (bookmark != null)
                      this.addBookmarkFilter(bookmark);
              }
              if (iChangeType == DBConstants.AFTER_REQUERY_TYPE)
              {
                  String strKeyName = null;
                  Object objKeyData = null;
                  if (this.getOwner().getDefaultOrder() > 0)
                  {
                      strKeyName = this.getOwner().getKeyArea().getKeyName();
                      KeyField keyField = this.getOwner().getKeyArea().getKeyField(0);
                      BaseField fldKey = keyField.getField(DBConstants.FILE_KEY_AREA);
                      if (fldKey instanceof ReferenceField)
                      {
                          if (!keyField.getField(DBConstants.END_SELECT_KEY).isNull())
                              if (keyField.getField(DBConstants.END_SELECT_KEY).equals(keyField.getField(DBConstants.START_SELECT_KEY)))
                              {
                                  fldKey = keyField.getField(DBConstants.START_SELECT_KEY);   // On a requery this should be the key
                                  objKeyData = fldKey.getData();
                              }
                      }
                  }
                  this.clearBookmarkFilters(strKeyName, objKeyData);
              }
          }
          return iErrorCode;
      }