code: protected final <V> V get(Function<T, V> getter, Supplier<V> fallback) {
  		V value = getter.apply(this.properties);
  		return (value != null) ? value : fallback.get();
  	}
docs: Get the value from the properties or use a fallback from the {@code defaults}.
  @param getter the getter for the properties
  @param fallback the fallback method, usually super interface method reference
  @param <V> the value type
  @return the property or fallback value