public unsafe SubscribeExConversationsRequest(global::Com.Liveperson.Messaging.Controller.ConnectionsController p0, long p1, string p2, string p3, string[] p4)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            IntPtr native_p2 = JNIEnv.NewString(p2);
            IntPtr native_p3 = JNIEnv.NewString(p3);
            IntPtr native_p4 = JNIEnv.NewArray(p4);

            try {
                JValue *__args = stackalloc JValue [5];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(native_p2);
                __args [3] = new JValue(native_p3);
                __args [4] = new JValue(native_p4);
                if (((object)this).GetType() != typeof(SubscribeExConversationsRequest))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Lcom/liveperson/messaging/controller/ConnectionsController;JLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lcom/liveperson/messaging/controller/ConnectionsController;JLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_JLjava_lang_String_Ljava_lang_String_arrayLjava_lang_String_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_JLjava_lang_String_Ljava_lang_String_arrayLjava_lang_String_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/liveperson/messaging/controller/ConnectionsController;JLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_JLjava_lang_String_Ljava_lang_String_arrayLjava_lang_String_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_JLjava_lang_String_Ljava_lang_String_arrayLjava_lang_String_, __args);
            } finally {
                JNIEnv.DeleteLocalRef(native_p2);
                JNIEnv.DeleteLocalRef(native_p3);
                if (p4 != null)
                {
                    JNIEnv.CopyArray(native_p4, p4);
                    JNIEnv.DeleteLocalRef(native_p4);
                }
            }
        }
        public unsafe SynchronizedAmsConnectionCallback(global::Com.Liveperson.Messaging.Controller.ConnectionsController p0, string p1, global::Java.Lang.IRunnable p2)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            IntPtr native_p1 = JNIEnv.NewString(p1);

            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(native_p1);
                __args [2] = new JValue(p2);
                if (((object)this).GetType() != typeof(SynchronizedAmsConnectionCallback))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Lcom/liveperson/messaging/controller/ConnectionsController;Ljava/lang/String;Ljava/lang/Runnable;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lcom/liveperson/messaging/controller/ConnectionsController;Ljava/lang/String;Ljava/lang/Runnable;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_Ljava_lang_String_Ljava_lang_Runnable_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_Ljava_lang_String_Ljava_lang_Runnable_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/liveperson/messaging/controller/ConnectionsController;Ljava/lang/String;Ljava/lang/Runnable;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_Ljava_lang_String_Ljava_lang_Runnable_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lcom_liveperson_messaging_controller_ConnectionsController_Ljava_lang_String_Ljava_lang_Runnable_, __args);
            } finally {
                JNIEnv.DeleteLocalRef(native_p1);
            }
        }
        public unsafe HandlePendingMessagesTask(global::Com.Liveperson.Messaging.Model.AmsMessages p0, global::Com.Liveperson.Messaging.Model.AmsConversations p1, global::Com.Liveperson.Messaging.Controller.ConnectionsController p2)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);
                if (((object)this).GetType() != typeof(HandlePendingMessagesTask))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Lcom/liveperson/messaging/model/AmsMessages;Lcom/liveperson/messaging/model/AmsConversations;Lcom/liveperson/messaging/controller/ConnectionsController;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lcom/liveperson/messaging/model/AmsMessages;Lcom/liveperson/messaging/model/AmsConversations;Lcom/liveperson/messaging/controller/ConnectionsController;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_liveperson_messaging_model_AmsMessages_Lcom_liveperson_messaging_model_AmsConversations_Lcom_liveperson_messaging_controller_ConnectionsController_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_liveperson_messaging_model_AmsMessages_Lcom_liveperson_messaging_model_AmsConversations_Lcom_liveperson_messaging_controller_ConnectionsController_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/liveperson/messaging/model/AmsMessages;Lcom/liveperson/messaging/model/AmsConversations;Lcom/liveperson/messaging/controller/ConnectionsController;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_liveperson_messaging_model_AmsMessages_Lcom_liveperson_messaging_model_AmsConversations_Lcom_liveperson_messaging_controller_ConnectionsController_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lcom_liveperson_messaging_model_AmsMessages_Lcom_liveperson_messaging_model_AmsConversations_Lcom_liveperson_messaging_controller_ConnectionsController_, __args);
            } finally {
            }
        }