code: @Override
  	public synchronized void stop()
      {
      	if (!started)
      		return;
      	
      	log.info("Stopping listener ["+getName()+"]");
      	
          stopRequired = true;
          
          // Close the listen socket
          closeServerSocket();
          
          // Wait for listener thread to stop
          try
          {
          	if (listenerThread != null)
          		listenerThread.join();
          }
          catch (InterruptedException e)
          {
          	log.error("Wait for listener thread termination was interrupted");
          }
          finally
          {
          	listenerThread = null;
          }
          
          // Then stop remaining clients
          closeRemainingClients();
          
          started = false;
      }
docs: /* (non-Javadoc)
  @see net.timewalker.ffmq4.listeners.AbstractListener#stop()