docs: @Override
      public ObservableList<Item> getPropertySheetItems() {
          ObservableList<Item> items = super.getPropertySheetItems();
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showSourceTrayProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowSourceTray((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowSourceTray();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Calendar Tray"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Show or hide the calendar tray on the left"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showSearchResultsTrayProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowSearchResultsTray((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowSearchResultsTray();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Search Results Tray"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Show or hide the search results tray on the right"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(transitionsEnabledProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setTransitionsEnabled((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isTransitionsEnabled();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Transitions"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Use transitions when changing pages."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showSearchFieldProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowSearchField((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowSearchField();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Show Search Field"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Can the user access the search field or not."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showSourceTrayButtonProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowSourceTrayButton((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowSourceTrayButton();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Source Tray Button"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Can the user access the source tray button or not."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showAddCalendarButtonProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowAddCalendarButton((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowAddCalendarButton();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Add Calendar Button"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Can the user access the button to add new calendars or not."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showPrintButtonProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowPrintButton((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowPrintButton();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Print Button"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Can the user access the button to print calendars or not."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showPageToolBarControlsProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowPageToolBarControls((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowPageToolBarControls();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Page Controls"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Can the user access the page-specific toolbar controls or not."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showPageSwitcherProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowPageSwitcher((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowPageSwitcher();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Show Page Switcher"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Visibility of the switcher."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(showToolBarProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setShowToolBar((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isShowToolBar();
              }
  
              @Override
              public Class<?> getType() {
                  return Boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Show ToolBar"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Visibility of the toolbar."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return CALENDAR_VIEW_CATEGORY;
              }
          });
  
          return items;
      }