if (correlationId == null && !msgIdAsCorrId) {
in.setHeader("JMSCorrelationID", getUuidGenerator().generateId());
}
final ValueHolder<FutureTask> futureHolder = new ValueHolder<FutureTask>();
final DeferredMessageSentCallback callback = msgIdAsCorrId ? deferredRequestReplyMap.createDeferredMessageSentCallback() : null;
final CamelJmsTemplate template = (CamelJmsTemplate)getInOutTemplate();
template.send(endpoint.getDestination(), new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
Message message = endpoint.getBinding().makeJmsMessage(exchange, in, session);