@Override
    public void eventRaised(Event ev, Object sender, EventArgs args) {
      GWT.log(
          "Text item changed: "
              + textItem.getTitle()
              + " Changed to: "
              + ((EntityModel) sender).getEntity());

      if (((EntityModel) sender).getEntity() != null) {
        String newValue = ((EntityModel) sender).getEntity().toString();
        // if the value is same as the current one, do nothing
        if (newValue.equals(textItem.getValue())) {
          return;
        }
        if (parser == null) {
          textItem.setValue(newValue);
        } else {
          textItem.setValue(parser.format(newValue));
        }
        textItem.redraw();
      } else {
        textItem.setValue("");
      }
    }