interceptor.postHandle(request, response, handler, modelAndView);
verify(modelAndView).addObject(eq(messageKey), captor.capture());
// exercise the in-lined Lambda
final Lambda lambda = captor.getValue();
assertNotNull(lambda);
final Template.Fragment frag = mock(Template.Fragment.class);
final Writer out = mock(Writer.class);
final String fragResult = "bar";
final String fragResultWithArgs = "bar [foo] [baz][burp]";
when(frag.execute()).thenReturn(fragResult);
when(localeResolver.resolveLocale(request)).thenReturn(Locale.CANADA_FRENCH);
lambda.execute(frag, out);
verify(messageSource, times(1)).getMessage(fragResult, new Object[]{}, Locale.CANADA_FRENCH);
// exercise the optional args passing:
when(frag.execute()).thenReturn(fragResultWithArgs);
lambda.execute(frag, out);
verify(messageSource, times(1)).getMessage(fragResult, new Object[]{"foo", "baz", "burp"}, Locale.CANADA_FRENCH);
verifyNoMoreInteractions(messageSource);