public void setValue(Object val)
      throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {

    if (val == null || val instanceof String) {
      if ((val + "").trim().length() == 0) val = null;

      String oldValue = font.getOwnPdfEncoding();
      String newValue = (String) val;

      font.setPdfEncoding(newValue);

      ObjectPropertyUndoableEdit urob =
          new ObjectPropertyUndoableEdit(font, "PdfEncoding", String.class, oldValue, newValue);
      // Find the undoRedo manager...
      IReportManager.getInstance().addUndoableEdit(urob);
    }
  }