private void processReplyMessage(JGroupsReplyMessage message) { CommandCallbackWrapper<Object, Object, Object> callbackWrapper = callbackRepository.fetchAndRemove(message.getCommandIdentifier()); if (callbackWrapper == null) { logger.warn( "Received a callback for a message that has either already received a callback, or which was not " + "sent through this node. Ignoring."); } else { if (message.isSuccess()) { callbackWrapper.success(message.getReturnValue(serializer)); } else { Throwable exception = getOrDefault(message.getError(serializer), new IllegalStateException( format("Unknown execution failure for command [%s]", message.getCommandIdentifier()))); callbackWrapper.fail(exception); } } }