private String handleRequest(MessageEvent event, StreamInput buffer, long requestId) throws IOException {
final String action = buffer.readUTF();
final NettyTransportChannel transportChannel = new NettyTransportChannel(transport, action, event.getChannel(), requestId);
try {
final TransportRequestHandler handler = transportServiceAdapter.handler(action);
if (handler == null) {
throw new ActionNotFoundTransportException(action);
}
final Streamable streamable = handler.newInstance();
streamable.readFrom(buffer);
if (handler.executor() == ThreadPool.Names.SAME) {
//noinspection unchecked
handler.messageReceived(streamable, transportChannel);
} else {
threadPool.executor(handler.executor()).execute(new RequestHandler(handler, streamable, transportChannel, action));
}
} catch (Exception e) {
try {
transportChannel.sendResponse(e);
} catch (IOException e1) {