code: private boolean updateMVScalar(String currentValue) {
          boolean bUpdated = false;
          Set<String> currentValues = Utils.split(currentValue, CommonDefs.MV_SCALAR_SEP_CHAR);
          Set<String> newValueSet = mergeMVFieldValues(currentValues,
                                                       m_dbObj.getRemoveValues(m_fieldName),
                                                       m_dbObj.getFieldValues(m_fieldName));
          String newValue = Utils.concatenate(newValueSet, CommonDefs.MV_SCALAR_SEP_CHAR);
          if (!newValue.equals(currentValue)) {
              if (newValue.length() == 0) {
                  m_dbTran.deleteScalarValueColumn(m_tableDef, m_dbObj.getObjectID(), m_fieldName);
                  unindexTerms(currentValue);
              } else {
                  updateScalarReplaceValue(currentValue, newValue);
              }
              bUpdated = true;
          }
          return bUpdated;
      }
docs: where ~ is the MV value separator.