docs: @Override
      public ObservableList<Item> getPropertySheetItems() {
          ObservableList<Item> items = super.getPropertySheetItems();
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(enableCurrentTimeMarkerProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setEnableCurrentTimeMarker((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isEnableCurrentTimeMarker();
              }
  
              @Override
              public Class<?> getType() {
                  return boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Current time marker"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Early / Late Hours Layout Strategy"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(earlyLateHoursStrategyProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setEarlyLateHoursStrategy((EarlyLateHoursStrategy) value);
              }
  
              @Override
              public Object getValue() {
                  return getEarlyLateHoursStrategy();
              }
  
              @Override
              public Class<?> getType() {
                  return EarlyLateHoursStrategy.class;
              }
  
              @Override
              public String getName() {
                  return "Early / Late Hours"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Early / Late Hours Layout Strategy"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(visibleHoursProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setVisibleHours((int) value);
              }
  
              @Override
              public Object getValue() {
                  return getVisibleHours();
              }
  
              @Override
              public Class<?> getType() {
                  return Integer.class;
              }
  
              @Override
              public String getName() {
                  return "Visible Hours"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Number of visible hours"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(hourHeightProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setHourHeight((double) value);
              }
  
              @Override
              public Object getValue() {
                  return getHourHeight();
              }
  
              @Override
              public Class<?> getType() {
                  return Double.class;
              }
  
              @Override
              public String getName() {
                  return "Hour Height"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Height of one hour"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(hourHeightCompressedProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setHourHeightCompressed((double) value);
              }
  
              @Override
              public Object getValue() {
                  return getHourHeightCompressed();
              }
  
              @Override
              public Class<?> getType() {
                  return Double.class;
              }
  
              @Override
              public String getName() {
                  return "Hour Height Compressed"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Height of one hour when shown compressed (early / late hours)."; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(hoursLayoutStrategyProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setHoursLayoutStrategy((HoursLayoutStrategy) value);
              }
  
              @Override
              public Object getValue() {
                  return getHoursLayoutStrategy();
              }
  
              @Override
              public Class<?> getType() {
                  return HoursLayoutStrategy.class;
              }
  
              @Override
              public String getName() {
                  return "Layout Strategy"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Layout Strategy"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(trimTimeBoundsProperty());
              }
  
              @Override
              public void setValue(Object value) {
                  setTrimTimeBounds((boolean) value);
              }
  
              @Override
              public Object getValue() {
                  return isTrimTimeBounds();
              }
  
              @Override
              public Class<?> getType() {
                  return boolean.class;
              }
  
              @Override
              public String getName() {
                  return "Trim Time Bounds"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Adjust earliest / latest times shown"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(earliestTimeUsedProperty());
              }
  
              @Override
              public void setValue(Object value) {
              }
  
              @Override
              public Object getValue() {
                  return getEarliestTimeUsed();
              }
  
              @Override
              public Class<?> getType() {
                  return LocalTime.class;
              }
  
              @Override
              public String getName() {
                  return "Earliest Time Used"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Earliest start time of any entry view"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
  
              @Override
              public boolean isEditable() {
                  return true;
              }
          });
  
          items.add(new Item() {
  
              @Override
              public Optional<ObservableValue<?>> getObservableValue() {
                  return Optional.of(latestTimeUsedProperty());
              }
  
              @Override
              public void setValue(Object value) {
              }
  
              @Override
              public Object getValue() {
                  return getLatestTimeUsed();
              }
  
              @Override
              public Class<?> getType() {
                  return LocalTime.class;
              }
  
              @Override
              public String getName() {
                  return "Latest Time Used"; //$NON-NLS-1$
              }
  
              @Override
              public String getDescription() {
                  return "Latest end time of any entry view"; //$NON-NLS-1$
              }
  
              @Override
              public String getCategory() {
                  return DAY_VIEW_BASE_CATEGORY;
              }
  
              @Override
              public boolean isEditable() {
                  return true;
              }
          });
  
          return items;
      }