docs: public int fieldChanged(boolean bDisplayOption, int iMoveMode)
      {
          if (m_fldSource != null)
          {
              if (((m_bInitIfSourceNull == true) || (!m_fldSource.isNull()))
                      && ((m_bOnlyInitIfDestNull == false)
                          || (m_bOnlyInitIfDestNull == true) && (this.getOwner().isNull())))
              {
                  boolean bModified = this.getOwner().isModified();
                  int iErrorCode = this.getOwner().moveFieldToThis(m_fldSource, bDisplayOption, iMoveMode);
                  this.getOwner().setModified(bModified);
                  return iErrorCode;
              }
              else
                  return super.fieldChanged(bDisplayOption, iMoveMode);
          }
          else
          {
              if (m_objSource instanceof String)
                  return this.getOwner().setString(m_objSource.toString(), bDisplayOption, iMoveMode);
              else
                  return this.getOwner().setData(m_objSource, bDisplayOption, iMoveMode);
          }
      }