public Object validateMethodInvocation(ProceedingJoinPoint pjp) throws Throwable {
Object result;
MethodSignature signature = (MethodSignature) pjp.getSignature();
MethodValidator methodValidator = validator.unwrap( MethodValidator.class );
Set<MethodConstraintViolation<Object>> parametersViolations = methodValidator.validateParameters(
pjp.getTarget(), signature.getMethod(), pjp.getArgs()
);
if ( !parametersViolations.isEmpty() ) {
throw new MethodConstraintViolationException( parametersViolations );
}