docs: public int setState(boolean bState, boolean bDisplayOption, int iMoveMode)
      {
          if (m_strTargetValue != null)
          {
              String fieldString = this.getString();
              if (m_boolMaskValue.booleanValue())
              {
                  int index = fieldString.indexOf(m_strTargetValue);
                  if (bState == m_bTrueIfMatch)
                  {   // Add target string to field!
                      if (index == -1) // Is the target value in the field string?
                      {   // No, Add it!
                          fieldString = m_strTargetValue + fieldString;        // Add the field to the string
                      }
                  }
                  else
                  {   // Take target field out of field
                      if (index != -1)    // Is the target value in the field string
                      {   // Yes, Take it out!
                          fieldString = fieldString.substring(0, index) + fieldString.substring(index+1);   // Strip the field to the string
                      }
                  }
              }
              else
                  fieldString = m_strTargetValue; // Set to the value
              return this.setString(fieldString, bDisplayOption, iMoveMode);
          }
          else if (m_fldTargetValue != null)
          {
              if (bState == m_bTrueIfMatch)
              	return ((BaseField)this.getField()).moveFieldToThis(m_fldTargetValue, bDisplayOption, iMoveMode);
              else
                  return ((BaseField)this.getField()).setString(null);	// Unchecked = clear it.
          }
          else    // Target = null
          {
              if (bState == m_bTrueIfMatch)
                  return ((BaseField)this.getField()).setString(null);
              else
                  return DBConstants.NORMAL_RETURN; //?
          }
      }