public void onEvent(Event event) {
    if (Events.ON_CHANGE.equalsIgnoreCase(event.getName())
        || Events.ON_OK.equalsIgnoreCase(event.getName())) {
      Date date = getComponent().getValue();
      Timestamp newValue = null;

      if (date != null) {
        newValue = new Timestamp(date.getTime());
      }
      if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
        return;
      }
      if (oldValue == null && newValue == null) {
        return;
      }
      ValueChangeEvent changeEvent =
          new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
      super.fireValueChange(changeEvent);
      oldValue = newValue;
    }
  }