private boolean updateClient(Client c) { if (c.isClosed()) { listener.onClientClose(this, c, null); return false; } try { c.read(); c.update(); listener.onClientUpdate(this, c); if (c.isReadyToSend()) { c.send(); } return true; } catch (Exception e) { listener.onClientClose(this, c, e); c.close(); return false; } }