@Override
  public void propertyChange(PropertyChangeEvent evt) {
    if (evt.getPropertyName().equals(CalendarPane.PROPERTY_NAME_DATE)) {
      widgetDateChanged((Date) evt.getNewValue());
    } else if (evt.getPropertyName().equals(
        CalendarPane.PROPERTY_NAME_LOCALE)) {
      widgetLocaleChanged((Locale) evt.getNewValue());
    } else if (evt.getPropertyName()
        .equals(CalendarPane.PROPERTY_NAME_ZONE)) {
      widgetZoneChanged((TimeZone) evt.getNewValue());
    } else if (evt.getPropertyName().equals(
        CalendarPane.PROPERTY_NAME_VETO_POLICY)) {
      gridPanel.setVetoPolicy((VetoPolicy) evt.getNewValue());
      auxPanel.setVetoModel((VetoPolicy) evt.getNewValue());
    } else if (evt.getPropertyName().equals(
        CalendarPane.PROPERTY_NAME_HOLIDAY_POLICY)) {
      gridPanel.setHolidayPolicy((HolidayPolicy) evt.getNewValue());
      headerPanel.setHolidayPolicy((HolidayPolicy) evt.getNewValue());
    } else if (evt.getPropertyName().equals("enabled")) {
      boolean value = ((Boolean) evt.getNewValue()).booleanValue();
      classicPanel.setEnabled(value);
      modernPanel.setEnabled(value);
      headerPanel.setEnabled(value);
      auxPanel.setEnabled(value);
      numberOfWeekPanel.setEnabled(value);
      gridPanel.setEnabled(value);
    } else if (evt.getPropertyName().equals(
        CalendarPane.PROPERTY_NAME_STYLE)) {
      addNestedComponents();
    } else if (evt.getPropertyName().equals(
        CalendarPane.PROPERTY_NAME_SHOW_TODAY_BTN)) {
      Boolean value = (Boolean) evt.getNewValue();
      auxPanel.setShowTodayBtn(value.booleanValue());
    } else if (evt.getPropertyName().equals(
      CalendarPane.PROPERTY_NAME_SHOW_NONE_BTN)) {
      boolean value = ((Boolean) evt.getNewValue()).booleanValue();
      auxPanel.setShowNoneButton(value);
    } else if (evt.getPropertyName().equals(
      CalendarPane.PROPERTY_NAME_SHOW_NUMBER_WEEK)) {
      addNestedComponents();
    } else if (evt.getPropertyName().equals("focusable")) {
      Boolean value = (Boolean) evt.getNewValue();
      classicPanel.setFocusable(value.booleanValue());
      modernPanel.setFocusable(value.booleanValue());
      gridPanel.setFocusable(value.booleanValue());
      auxPanel.setFocusable(value.booleanValue());
    } else if (evt.getPropertyName().equals(
        CalendarPane.PROPERTY_NAME_RESOURCES)) {
      widgetResourceChanged();
    } else if (evt.getPropertyName()
        .equals("enabled"/* CalendarPane.PROPERTY_NAME_ENABLED */)) {
      Boolean value = (Boolean) evt.getNewValue();
      classicPanel.setEnabled(value.booleanValue());
      modernPanel.setEnabled(value.booleanValue());
      gridPanel.setEnabled(value.booleanValue());
      auxPanel.setEnabled(value.booleanValue());
    }

  }
@Override
  public void propertyChange(PropertyChangeEvent evt)