private <T extends Property<? extends Number>> T numericPropertyOf(String key, Supplier<? extends Number> ifEmpty, Function<NumericProperty, T> wrapper) {
        final NumericProperty property = (NumericProperty) properties
            .computeIfAbsent(key, k -> 
                prepare(k, new SimpleNumericProperty(), ifEmpty.get())
            );
        
        return wrapper.apply(property);
    }
{@inheritDoc}
@deprecated Not supported for observables
tool-parent/tool-config/src/main/java/com/speedment/tool/config/AbstractDocumentProperty.java