### Question:
TraceeMessagePropertiesConverter extends DefaultMessagePropertiesConverter { @Override public AMQP.BasicProperties fromMessageProperties(MessageProperties source, String charset) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(AsyncDispatch)) { final Map<String, String> filteredParams = filterConfiguration.filterDeniedParams(backend.copyToMap(), AsyncDispatch); source.getHeaders().put(TPIC_HEADER, filteredParams); } return super.fromMessageProperties(source, charset); } TraceeMessagePropertiesConverter();  TraceeMessagePropertiesConverter(String profile);   TraceeMessagePropertiesConverter(TraceeBackend backend, String profile); @Override MessageProperties toMessageProperties(AMQP.BasicProperties source, Envelope envelope, String charset); @Override AMQP.BasicProperties fromMessageProperties(MessageProperties source, String charset);  }### Answer:
@Test public void shouldAddTraceeContexttoMessageHeaders() throws Exception { backend.put("inClientBeforeRequest", "true"); MessageProperties messageProperties = new MessageProperties(); final AMQP.BasicProperties basicProperties = unit.fromMessageProperties(messageProperties, CHARSET_UTF8); assertThat(basicProperties.getHeaders(), hasKey(TPIC_HEADER)); assertThat((Map<String, ?>) basicProperties.getHeaders().get(TPIC_HEADER), hasKey("inClientBeforeRequest")); }