code: public WebSocket connectAsynchronously()
      {
          Thread thread = new ConnectThread(this);
  
          // Get the reference (just in case)
          ListenerManager lm = mListenerManager;
  
          if (lm != null)
          {
              lm.callOnThreadCreated(ThreadType.CONNECT_THREAD, thread);
          }
  
          thread.start();
  
          return this;
      }
docs: Execute {@link #connect()} asynchronously by creating a new thread and
  calling {@code connect()} in the thread. If {@code connect()} failed,
  {@link WebSocketListener#onConnectError(WebSocket, WebSocketException)
  onConnectError()} method of {@link WebSocketListener} is called.
  
  @return
  {@code this} object.
  
  @since 1.8