private boolean isCurrentThreadInterrupted(ServerSocket serverSocket) {
		if (this.currentThread.isInterrupted()) {
			this.log.info("current Thread is Interrupted");
			try {
				serverSocket.close();
				this.log.info("close server Socket: " + serverSocket.toString());
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				this.log.severe("close server Socket: fail");
			}
			for (int i = 0; i < this.clientHandlerThread.length; i++)
				if (this.clientHandlerThread[i] != null && this.clientHandlerThread[i].isAlive())
				{
					this.log.info("interrupt clientHandlerThread[" + i + "]");
					this.clientHandlerThread[i].interrupt();
				}
			for (int i = 0; i < this.clientHandlerThread.length; i++)
				if (this.clientHandlerThread[i] != null && this.clientHandlerThread[i].isAlive())
					try {
						this.log.info("join clientHandlerThread[" + i + "]");
						this.clientHandlerThread[i].join();
					} catch (InterruptedException e) {
						this.log.severe("InterruptedException join clientHandlerThread[" + i + "]");
						continue; // never be here
					}
			
			return true;
		}
		return false;
	}