class FieldToDoubleImpl<ENTITY, V>
extends AbstractFieldMapper<ENTITY, V, Double, ToDouble<ENTITY>, ToDoubleFunction<V>>
implements FieldToDouble<ENTITY, V> {

    public FieldToDoubleImpl(ReferenceField<ENTITY, ?, V> field,
                             ToDoubleFunction<V> mapper) {
        super(field, mapper);
    }

    @Override
    public Double apply(ENTITY entity) {<FILL_FUNCTION_BODY>}

    @Override
    public double applyAsDouble(ENTITY object) {
        return mapper.applyAsDouble(field.get(object));
    }
}

        final V value = field.get(entity);
        if (value == null) return null;
        else return mapper.applyAsDouble(value);
    
<methods>public ReferenceField<ENTITY,?,V> getField() ,public ToDoubleFunction<V> getMapper() ,public FieldIsNotNullPredicate<ENTITY,java.lang.Double> isNotNull() ,public FieldIsNullPredicate<ENTITY,java.lang.Double> isNull() <variables>final non-sealed ReferenceField<ENTITY,?,V> field,final non-sealed ToDoubleFunction<V> mapper