static void n_UpdateParticipants_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_Ljava_lang_String_ZZ(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, IntPtr native_p2, IntPtr native_p3, IntPtr native_p4, bool p5, bool p6)
        {
            global::Com.Liveperson.Messaging.Model.ConversationUtils __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.ConversationUtils> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            string p0 = JNIEnv.GetString(native_p0, JniHandleOwnership.DoNotTransfer);
            string p1 = JNIEnv.GetString(native_p1, JniHandleOwnership.DoNotTransfer);

            string[] p2 = (string[])JNIEnv.GetArray(native_p2, JniHandleOwnership.DoNotTransfer, typeof(string));
            global::Com.Liveperson.Api.Response.Model.UserProfile.UserType p3 = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Api.Response.Model.UserProfile.UserType> (native_p3, JniHandleOwnership.DoNotTransfer);
            string p4 = JNIEnv.GetString(native_p4, JniHandleOwnership.DoNotTransfer);

            __this.UpdateParticipants(p0, p1, p2, p3, p4, p5, p6);
            if (p2 != null)
            {
                JNIEnv.CopyArray(p2, native_p2);
            }
        }
        public unsafe MessagingUserProfile(string p0, string p1, global::Com.Liveperson.Api.Response.Model.UserProfile.UserType p2)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            IntPtr native_p0 = JNIEnv.NewString(p0);
            IntPtr native_p1 = JNIEnv.NewString(p1);

            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(native_p0);
                __args [1] = new JValue(native_p1);
                __args [2] = new JValue(p2);
                if (((object)this).GetType() != typeof(MessagingUserProfile))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Ljava/lang/String;Ljava/lang/String;Lcom/liveperson/api/response/model/UserProfile$UserType;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Ljava/lang/String;Ljava/lang/String;Lcom/liveperson/api/response/model/UserProfile$UserType;)V", __args);
                    return;
                }

                if (id_ctor_Ljava_lang_String_Ljava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_ == IntPtr.Zero)
                {
                    id_ctor_Ljava_lang_String_Ljava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Ljava/lang/String;Ljava/lang/String;Lcom/liveperson/api/response/model/UserProfile$UserType;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Ljava_lang_String_Ljava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Ljava_lang_String_Ljava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_, __args);
            } finally {
                JNIEnv.DeleteLocalRef(native_p0);
                JNIEnv.DeleteLocalRef(native_p1);
            }
        }
        public virtual unsafe void UpdateParticipants(string p0, string p1, string[] p2, global::Com.Liveperson.Api.Response.Model.UserProfile.UserType p3, string p4, bool p5, bool p6, global::Com.Liveperson.Infra.ICallback p7)
        {
            if (id_updateParticipants_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_Ljava_lang_String_ZZLcom_liveperson_infra_ICallback_ == IntPtr.Zero)
            {
                id_updateParticipants_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_Ljava_lang_String_ZZLcom_liveperson_infra_ICallback_ = JNIEnv.GetMethodID(class_ref, "updateParticipants", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Lcom/liveperson/api/response/model/UserProfile$UserType;Ljava/lang/String;ZZLcom/liveperson/infra/ICallback;)V");
            }
            IntPtr native_p0 = JNIEnv.NewString(p0);
            IntPtr native_p1 = JNIEnv.NewString(p1);
            IntPtr native_p2 = JNIEnv.NewArray(p2);
            IntPtr native_p4 = JNIEnv.NewString(p4);

            try {
                JValue *__args = stackalloc JValue [8];
                __args [0] = new JValue(native_p0);
                __args [1] = new JValue(native_p1);
                __args [2] = new JValue(native_p2);
                __args [3] = new JValue(p3);
                __args [4] = new JValue(native_p4);
                __args [5] = new JValue(p5);
                __args [6] = new JValue(p6);
                __args [7] = new JValue(p7);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_updateParticipants_Ljava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Lcom_liveperson_api_response_model_UserProfile_UserType_Ljava_lang_String_ZZLcom_liveperson_infra_ICallback_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "updateParticipants", "(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Lcom/liveperson/api/response/model/UserProfile$UserType;Ljava/lang/String;ZZLcom/liveperson/infra/ICallback;)V"), __args);
                }
            } finally {
                JNIEnv.DeleteLocalRef(native_p0);
                JNIEnv.DeleteLocalRef(native_p1);
                if (p2 != null)
                {
                    JNIEnv.CopyArray(native_p2, p2);
                    JNIEnv.DeleteLocalRef(native_p2);
                }
                JNIEnv.DeleteLocalRef(native_p4);
            }
        }