public void run() { running = true; try { log.finer("Message reader started (" + this + ")"); Message message; while (running && (message = client.receive()) != null) { send(message); } } catch (IOException e) { log.log(Level.WARNING, "Error reading client message during the interception", e); } finally { log.finer("Message reader stopped (" + this + ")"); } }