{
final AMQMessageHeader header = mock(AMQMessageHeader.class);
when(header.containsHeader("select")).thenReturn(true);
when(header.getHeader("select")).thenReturn(val);
when(header.getHeaderNames()).thenReturn(Collections.singleton("select"));
when(header.containsHeaders(anySet())).then(new Answer<Object>()
{
@Override
public Object answer(InvocationOnMock invocation) throws Throwable
{
final Set names = (Set) invocation.getArguments()[0];