public <T> Set<MethodConstraintViolation<T>> validateReturnValue(T object, Method method, Object returnValue, Class<?>... groups) {
Contracts.assertNotNull( method, "The method to be validated must not be null" );
GroupChain groupChain = determineGroupExecutionOrder( groups );
MethodValidationContext<T> context = ValidationContext.getContextForValidateParameters(
method, object, messageInterpolator, constraintValidatorFactory, getCachingTraversableResolver()
);