public Object invoke(MethodInvocation methodInvocation) throws Throwable {
String[] contextTokens = getValidationContextTokens(methodInvocation);
ValidationContext originalContext = ValidationContextHolder.getValidationContext();
if (originalContext != null && extendExistingContext) {
ValidationContextUtils.extendContext(contextTokens);
} else {
ValidationContextUtils.setContext(contextTokens);
}