class Conversions {

    public static <T> T coerce(Class<T> clz, Object value) {
        if (value != null) {
            if (clz == value.getClass()) {
                return (T) value;
            }
        }

        return coerce(TypeType.getType(clz), clz, value);
    }

}