default ToDoubleNullable<ENTITY> asDouble() {
        return mapToDoubleIfPresent(val -> {
            if (val instanceof Number) {
                final Number number = (Number) val;
                return number.doubleValue();
            } else throw new SpeedmentFieldException(format(
                "Expected field %s to be of type double, but it was not.",
                identifier()
            ));
        });
    }
Returns an {@link ToDoubleNullable} expression that has the value of this
field, casted to a {@code double} by first casting it to {@link Number}
and then invoking {@link Number#doubleValue()}.

@return  expression for this value after mapper has been applied

@since 3.1.0
runtime-parent/runtime-field/src/main/java/com/speedment/runtime/field/ReferenceField.java