catch(IOException io_ex1) {
catch(IOException ex) {
        public void run() {            try {                synchronized(mutex) {                    if(client_sock == null)                        return;                    in=client_sock.getInputStream();                }                int b=0;                do {                    b=in.read();                }                while(b != ABNORMAL_TERMINATION && b != NORMAL_TERMINATION);            }            catch(IOException io_ex1) {            }            finally {                Socket sock=client_sock; // PATCH: avoid race condition causing NPE                if (sock != null && !sock.isClosed())                    closeClientSocket();                synchronized(clients) {                    clients.remove(this);                }            }        }