code: @SuppressWarnings({"MethodName", "PMD.MethodNamingConventions"})
      public static void socket_open(
          long socket,
          Object socketFactoryContext,
          String scheme,
          String hostname,
          int port,
          String path,
          byte[] optionsFleece) {
          Log.e(TAG, "CBLWebSocket.socket_open()");
  
          Map<String, Object> options = null;
          if (optionsFleece != null) { options = FLValue.fromData(optionsFleece).asDict(); }
  
          // NOTE: OkHttp can not understand blip/blips
          if (scheme.equalsIgnoreCase(C4Replicator.C4_REPLICATOR_SCHEME_2)) { scheme = WEBSOCKET_SCHEME; }
          else if (scheme.equalsIgnoreCase(C4Replicator.C4_REPLICATOR_TLS_SCHEME_2)) {
              scheme = WEBSOCKET_SECURE_CONNECTION_SCHEME;
          }
  
          final AbstractCBLWebSocket c4sock;
          try {
              c4sock = new CBLWebSocket(socket, scheme, hostname, port, path, options);
          }
          catch (Exception e) {
              Log.e(TAG, "Failed to instantiate C4Socket: " + e);
              e.printStackTrace();
              return;
          }
  
          REVERSE_LOOKUP_TABLE.put(socket, c4sock);
  
          c4sock.start();
      }
docs: !! Called by reflection!  Don't change the name.