public void write(Serializable obj) { // TODO: threading issue. lock channel if (channel == null) { Flog.error("not writing because no channel"); return; } String data = new Gson().toJson(obj); if (channel == null) { Flog.error("Lost connection? Not writing because no channel. Also, race condition!"); return; } channel.writeAndFlush(data + "\n"); }