### Question:
IntegrationContextMessageBuilderAppender implements MessageBuilderAppender { @Override public <T> MessageBuilder<T> apply(MessageBuilder<T> request) { return request .setHeader(IntegrationContextMessageHeaders.CONNECTOR_TYPE, integrationContext.getConnectorType()) .setHeader(IntegrationContextMessageHeaders.BUSINESS_KEY, integrationContext.getBusinessKey()) .setHeader(IntegrationContextMessageHeaders.INTEGRATION_CONTEXT_ID, integrationContext.getId()) .setHeader(IntegrationContextMessageHeaders.PROCESS_INSTANCE_ID, integrationContext.getProcessInstanceId()) .setHeader(IntegrationContextMessageHeaders.PROCESS_DEFINITION_ID, integrationContext.getProcessDefinitionId()) .setHeader(IntegrationContextMessageHeaders.PROCESS_DEFINITION_KEY, integrationContext.getProcessDefinitionKey()) .setHeader(IntegrationContextMessageHeaders.PROCESS_DEFINITION_VERSION, integrationContext.getProcessDefinitionVersion()) .setHeader(IntegrationContextMessageHeaders.PARENT_PROCESS_INSTANCE_ID, integrationContext.getParentProcessInstanceId()) .setHeader(IntegrationContextMessageHeaders.APP_VERSION, integrationContext.getAppVersion()); } IntegrationContextMessageBuilderAppender(IntegrationContext integrationContext); @Override MessageBuilder<T> apply(MessageBuilder<T> request);  }### Answer:
@Test public void testApply() { MessageBuilder<IntegrationRequest> request = MessageBuilder.withPayload(new IntegrationRequestImpl()); integrationBuilder.apply(request); Message<IntegrationRequest> message = request.build(); assertThat(message.getHeaders()) .containsEntry(IntegrationContextMessageHeaders.CONNECTOR_TYPE, integrationContext.getConnectorType()) .containsEntry(IntegrationContextMessageHeaders.BUSINESS_KEY, integrationContext.getBusinessKey()) .containsEntry(IntegrationContextMessageHeaders.INTEGRATION_CONTEXT_ID, integrationContext.getId()) .containsEntry(IntegrationContextMessageHeaders.PROCESS_INSTANCE_ID, integrationContext.getProcessInstanceId()) .containsEntry(IntegrationContextMessageHeaders.PROCESS_DEFINITION_ID, integrationContext.getProcessDefinitionId()) .containsEntry(IntegrationContextMessageHeaders.PROCESS_DEFINITION_KEY, integrationContext.getProcessDefinitionKey()) .containsEntry(IntegrationContextMessageHeaders.PROCESS_DEFINITION_VERSION, integrationContext.getProcessDefinitionVersion()) .containsEntry(IntegrationContextMessageHeaders.APP_VERSION, integrationContext.getAppVersion()) .containsEntry(IntegrationContextMessageHeaders.PARENT_PROCESS_INSTANCE_ID, integrationContext.getParentProcessInstanceId()); }