public void run() {
		Thread thisThread = Thread.currentThread(); //by storing this, we can safely stop ourselves later
		while(_thread == thisThread) { //while running (so we can stop later)
			while (listening) { //allow us to temporary stop listening subject to limitation mentioned above
				try {
					new Thread(new LIModuleThread(_server.accept(), this)).start();
                   // numberConnections++;
				} catch (SocketException e) {
					//let us die because someone stopped us
					//e.printStackTrace();
				} catch (IOException e1) {
					//let us die and retry loop
					//e1.printStackTrace();
				} catch (LIModuleException e) {
					// try again
					//e.printStackTrace();
				}
				try {
					Thread.sleep(HoneyRJ.TIME_WAIT_CONNECTION);
				} catch (InterruptedException ignored) {
					//prevent a DOS attack and high cpu during pause state
				}
			}
			try {
				Thread.sleep(HoneyRJ.TIME_WAIT_CONNECTION);
			} catch (InterruptedException ignored) {
				//prevent a DOS attack and high cpu during pause state
			}
		}
		
		//if we got here, the thread is dead, let us die
		
	}