protected Options<MessageOpOption> replyOptions(Map<Destination.MessageOpOption, Object> options) throws Exception { Options<MessageOpOption> opts = new Options<>(options); Map<String, Object> properties = (Map<String, Object>)opts.get(Destination.PublishOption.PROPERTIES); Map<String, Object> newProperties = new HashMap<>(); if (properties != null) { newProperties.putAll(properties); } newProperties.put(SYNC_RESPONSE_PROPERTY, true); newProperties.put(REQUEST_ID_PROPERTY, requestID()); newProperties.put(REQUEST_NODE_ID_PROPERTY, requestNodeID()); opts.put(Destination.PublishOption.PROPERTIES, newProperties); return opts; }