+ private final OptionWatcher<T> optionWatcher;
+
+ /**
+ * Creates a new default option.
+ *
+ * @param defaultValue
+ * The default value of the option
+ */
+ public DefaultOption(T defaultValue) {
+ this(defaultValue, (OptionWatcher<T>) null);
+ }
+
+ /**
+ * Creates a new default option.
+ *
+ * @param defaultValue
+ * The default value of the option
+ * @param validator
+ * The validator for value validation (may be {@code null})
+ */
+ public DefaultOption(T defaultValue, Predicate<T> validator) {
+ this(defaultValue, validator, null);
+ }