docs: public int doRecordChange(FieldInfo field, int iChangeType, boolean bDisplayOption)
      {
          int iErrorCode = super.doRecordChange(field, iChangeType, bDisplayOption);
          
          if (iChangeType == DBConstants.AFTER_REFRESH_TYPE)
                  iErrorCode = this.moveIDToCodeField();
          else if ((iChangeType == DBConstants.AFTER_ADD_TYPE)
              && (this.getCodeField().isNull()))
          {
              try {
                  Record record = this.getOwner();
                  Object bookmark = record.getLastModified(DBConstants.BOOKMARK_HANDLE);
                  record.setHandle(bookmark, DBConstants.BOOKMARK_HANDLE);
                  record.edit();
                  iErrorCode = this.moveIDToCodeField();
                  record.set();
              } catch (DBException ex) {
                  ex.printStackTrace();
              }
          }
          return iErrorCode;
      }