public static <X, Y> Y getValue(Class<X> source, X target,
                                    String propertyPath, Class<Y> valueClass) {
        return getExpression(source, propertyPath, valueClass).getValue(target);
    }
public static < X , Y > Y getValue ( Class < X > source , X target , String propertyPath , Class < Y > valueClass ) { return getExpression ( source , propertyPath , valueClass ) . getValue ( target ) ; }
/* With value class