private <TRequest> ClientCommandExecutor createExecutor( Membership.Member member, Command<TRequest> command) { CommandExecutor commandHandler = null; for (CommandExecutor ch : commandHandlers) { if (ch.canHandle(command.getType())) commandHandler = ch; } return new UdpClientCommandExecutor<>(member, command, commandHandler, logger); }