code: protected ServerThread getServerThread() throws IOException {
  		synchronized (this) {
  			if (this.serverThread == null) {
  				ByteChannel channel = this.serverConnection.open(this.longPollTimeout);
  				this.serverThread = new ServerThread(channel);
  				this.serverThread.start();
  			}
  			return this.serverThread;
  		}
  	}
docs: Returns the active server thread, creating and starting it if necessary.
  @return the {@code ServerThread} (never {@code null})
  @throws IOException in case of I/O errors