public unsafe WebSocketHandler(global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint p0)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(p0);
                if (GetType() != typeof(WebSocketHandler))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lcom/facebook/stetho/websocket/SimpleEndpoint;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lcom/facebook/stetho/websocket/SimpleEndpoint;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_facebook_stetho_websocket_SimpleEndpoint_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_facebook_stetho_websocket_SimpleEndpoint_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/facebook/stetho/websocket/SimpleEndpoint;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_facebook_stetho_websocket_SimpleEndpoint_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lcom_facebook_stetho_websocket_SimpleEndpoint_, __args);
            } finally {
            }
        }
 static void n_OnError_Lcom_facebook_stetho_websocket_SimpleSession_Ljava_lang_Throwable_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
 {
     global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint __this = global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Facebook.Stetho.Websocket.ISimpleSession  p0     = (global::Com.Facebook.Stetho.Websocket.ISimpleSession)global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleSession> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Java.Lang.Throwable p1 = global::Java.Lang.Object.GetObject <global::Java.Lang.Throwable> (native_p1, JniHandleOwnership.DoNotTransfer);
     __this.OnError(p0, p1);
 }
        static void n_OnClose_Lcom_facebook_stetho_websocket_SimpleSession_ILjava_lang_String_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, int p1, IntPtr native_p2)
        {
            global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint __this = global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Facebook.Stetho.Websocket.ISimpleSession  p0     = (global::Com.Facebook.Stetho.Websocket.ISimpleSession)global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleSession> (native_p0, JniHandleOwnership.DoNotTransfer);
            string p2 = JNIEnv.GetString(native_p2, JniHandleOwnership.DoNotTransfer);

            __this.OnClose(p0, p1, p2);
        }
 static void n_OnMessage_Lcom_facebook_stetho_websocket_SimpleSession_arrayBI(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, int p2)
 {
     global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint __this = global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Facebook.Stetho.Websocket.ISimpleSession  p0     = (global::Com.Facebook.Stetho.Websocket.ISimpleSession)global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleSession> (native_p0, JniHandleOwnership.DoNotTransfer);
     byte[] p1 = (byte[])JNIEnv.GetArray(native_p1, JniHandleOwnership.DoNotTransfer, typeof(byte));
     __this.OnMessage(p0, p1, p2);
     if (p1 != null)
     {
         JNIEnv.CopyArray(p1, native_p1);
     }
 }
 static void n_OnOpen_Lcom_facebook_stetho_websocket_SimpleSession_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint __this = global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleEndpoint> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Facebook.Stetho.Websocket.ISimpleSession  p0     = (global::Com.Facebook.Stetho.Websocket.ISimpleSession)global::Java.Lang.Object.GetObject <global::Com.Facebook.Stetho.Websocket.ISimpleSession> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.OnOpen(p0);
 }