@Override
 public void set(final String value) {
   try {
     DataCell dc = (DataCell) legacyDB.getCell(legacyCellID);
     Matrix m = dc.getVal();
     NominalDataValue dv = (NominalDataValue) m.getArgCopy(0);
     dv.setItsValue(value);
     m.replaceArg(0, dv);
     dc.setVal(m);
     legacyDB.replaceCell(dc);
   } catch (SystemErrorException se) {
     LOGGER.error("unable to set text data value", se);
   }
 }
  @Override
  public String toString() {
    try {
      DataCell dc = (DataCell) legacyDB.getCell(legacyCellID);

      if (isEmpty()) {
        DataColumn col = legacyDB.getDataColumn(dc.getItsColID());
        return "<" + col.getName() + ">";
      } else {
        Matrix m = dc.getVal();
        NominalDataValue dv = (NominalDataValue) m.getArgCopy(0);
        return dv.getItsValue();
      }

    } catch (SystemErrorException se) {
      LOGGER.error("unable to toString data value", se);
    }

    return "<ERROR - RESTART OPENSHAPA>";
  }