code: @Override
  	public void run()
  	{
  		/* Wait for connections... */
  		while (true)
  		{
  			// Accept requests from clients.
  			try
  			{
  				clientSocket = serverSocket.accept();
  				/* Create a process for the communication and start it */
  				final AbstractClientHandler clientHandler = newClientHandler(clientSocket);
  				final Thread thread = new Thread(clientHandler);
  				thread.start();
  			}
  			catch (final IOException e)
  			{
  				/*
  				 * Log the error of the server if IO fails. Something bad has happened
  				 */
  				logger.error("Could not accept " + e);
  			}
  		}
  	}
docs: {@inheritDoc}