@Override
public void run() {
synchronized (socket) {
// Process the request from this socket
SocketState state = SocketState.OPEN;
if (status == null) {
state = handler.process(socket,SocketStatus.OPEN);
} else {
state = handler.process(socket, status);
}