class JavaValueFieldDefinition extends AbstractJsonFieldDefinition<T> {

    public static <T> JavaValueFieldDefinition<T> newInstance(final CharSequence pointer,
            final Class<T> valueType,
            final Function<JsonValue, Boolean> checkJavaTypeFunction,
            final Function<JsonValue, T> mappingFunction,
            final JsonFieldMarker... markers) {

        return new JavaValueFieldDefinition<>(pointer, valueType, checkJavaTypeFunction, mappingFunction, markers);
    }

    private  JavaValueFieldDefinition(final CharSequence pointer,
            final Class<T> valueType,
            final Function<JsonValue, Boolean> checkJavaTypeFunction,
            final Function<JsonValue, T> mappingFunction,
            final JsonFieldMarker... markers);

}