public static <F> AbstractJointConverter<F> of(final SerializableFunction<? super F, String> to,
			                                    final SerializableFunction<String, ? extends F> from) {
		return new AbstractJointConverter<F>() {
			@Override
			public String convertToString(F value, Locale locale) {
				return to.apply(value);
			}
			
			@Override
			public F convertToObject(String value, Locale locale) throws ConversionException {
				return from.apply(value);
			}
		};
	}
public static < F > AbstractJointConverter < F > of ( final SerializableFunction < ? super F , String > to , final SerializableFunction < String , ? extends F > from ) { return new AbstractJointConverter < F > ( ) { @ Override public String convertToString ( F value , Locale locale ) { return to . apply ( value ) ; } @ Override public F convertToObject ( String value , Locale locale ) throws ConversionException { return from . apply ( value ) ; } } ; }
Utility method to construct converter from 2 functions
@param <F> type to convert from
@param to function to convert to String
@param from function to convert from String
@return converter