{
PumaReadServer puma = new PumaReadServer();
ReadSemanticException exception = new ReadSemanticException("my exception");
puma.setException(exception);
NiftyProcessor processor = new ThriftServiceProcessor(new ThriftCodecManager(), ImmutableList.<ThriftEventHandler>of(), puma);
try (
ThriftServer server = new ThriftServer(processor).start();
ThriftClientManager clientManager = new ThriftClientManager();
PumaReadService pumaClient = clientManager.createClient(
new FramedClientConnector(HostAndPort.fromParts("localhost", server.getPort())),