### Question:
NettyRemotingClient extends NettyRemotingAbstract implements RemotingClient { @Override public void setCallbackExecutor(final ExecutorService callbackExecutor) { this.callbackExecutor = callbackExecutor; } NettyRemotingClient(final NettyClientConfig nettyClientConfig);  NettyRemotingClient(final NettyClientConfig nettyClientConfig,
        final ChannelEventListener channelEventListener); @Override void start(); @Override void shutdown(); void closeChannel(final String addr, final Channel channel); @Override void registerRPCHook(RPCHook rpcHook); void closeChannel(final Channel channel); @Override void updateNameServerAddressList(List<String> addrs); @Override RemotingCommand invokeSync(String addr, final RemotingCommand request, long timeoutMillis); @Override void invokeAsync(String addr, RemotingCommand request, long timeoutMillis, InvokeCallback invokeCallback); @Override void invokeOneway(String addr, RemotingCommand request, long timeoutMillis); @Override void registerProcessor(int requestCode, NettyRequestProcessor processor, ExecutorService executor); @Override boolean isChannelWritable(String addr); @Override List<String> getNameServerAddressList(); @Override ChannelEventListener getChannelEventListener(); @Override RPCHook getRPCHook(); @Override ExecutorService getCallbackExecutor(); @Override void setCallbackExecutor(final ExecutorService callbackExecutor);  }### Answer:
@Test public void testSetCallbackExecutor() throws NoSuchFieldException, IllegalAccessException { ExecutorService customized = Executors.newCachedThreadPool(); remotingClient.setCallbackExecutor(customized); assertThat(remotingClient.getCallbackExecutor()).isEqualTo(customized); }