@Override public void run(){
  try {
    ServerThreadMain();
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
 finally {
    try {
      log.debug("Closing server socket channel");
      serverSocketChannel.close();
      selector.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
  }
}

@ Override public void run ( ) { try { ServerThreadMain ( ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } finally { try { log . debug ( "Closing server socket channel" ) ; serverSocketChannel . close ( ) ; selector . close ( ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } } }
main run method for the server thread
