public static Converter convert(Object value) {
        requireNonNull(value);

        if (value instanceof Object[])
            return convert(asList((Object[]) value));

        return typeConverters.getOrDefault(value.getClass(), typeConverters.entrySet().stream()
            .filter(entry -> !entry.getKey().equals(java.util.Date.class) && entry.getKey().isInstance(value))
            .findFirst()
            .map(Map.Entry::getValue).get()).apply(value);
    }
public static Converter convert ( Object value ) { requireNonNull ( value ) ; if ( value instanceof Object [ ] ) return convert ( asList ( ( Object [ ] ) value ) ) ; return typeConverters . getOrDefault ( value . getClass ( ) , typeConverters . entrySet ( ) . stream ( ) . filter ( entry -> ! entry . getKey ( ) . equals ( java . util . Date . class ) && entry . getKey ( ) . isInstance ( value ) ) . findFirst ( ) . map ( Map . Entry :: getValue ) . get ( ) ) . apply ( value ) ; }
@param value some object to convert
@return new Converter instance wrapper for the input value