docs: @Override
    public void onOpen(final WebSocket webSocket, Response response) {
      callback.onConnected();
      this.socket = webSocket;
      if (!this.socket.send(buildStartMessage(this.options))) {
        callback.onError(new IOException("WebSocket unavailable"));
      } else {
        new Thread(TEXT_TO_WEB_SOCKET) {
          @Override
          public void run() {
            sendText();
            if (socketOpen && !socket.send(buildStopMessage())) {
              LOG.log(Level.SEVERE, "Stop message discarded because WebSocket is unavailable");
            }
          }
        };
      }
    }