this.setStatus("HANGUP " + accepted); } catch (IOException oe) {   this.setStatus("EXCEPTION " + oe);
this.setStatus("HANGUP " + accepted + " ~ " + ee); } catch (IOException ie) { this.setStatus("IOEXCEPTION " + accepted + " ~ " + ie); } catch (Throwable te) { this.setStatus("THROWABLE " +  accepted + " ~ " + te);
        public void run() {            while (!this.stopped) {                Socket accepted= null;                try {                    this.setStatus("ACCEPTING...");                    accepted= this.socket.accept();                    accepted.setTcpNoDelay(true);                                        this.setStatus("ACCEPTED " + accepted);                                        // {{{ communication                    String message= ByteCountedString.readFrom(new DataInputStream(accepted.getInputStream()));                    this.setStatus("MESSAGE '" + message + "'");                    new ByteCountedString(message).writeTo(new DataOutputStream(accepted.getOutputStream()));                    // }}}                } catch (SocketException se) {                    // Server socket closed, respond to shutdown                    this.setStatus("SHUTDOWN " + accepted);                    this.stopped= true;                } catch (EOFException ee) {                    // Client has disconnected                    this.setStatus("HANGUP " + accepted);                } catch (IOException oe) {                                    // Something                     this.setStatus("EXCEPTION " + oe);                } finally {                    this.setStatus("CLOSE " + accepted);                    this.closeSocket(accepted);                }            }        }