public virtual void PostRestAsync(string p0, string p1, string p2, string p3, global::Com.UT.Device.IAidCallback p4)
        {
            if (id_postRestAsync_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Lcom_ut_device_AidCallback_ == IntPtr.Zero)
            {
                id_postRestAsync_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Lcom_ut_device_AidCallback_ = JNIEnv.GetMethodID(class_ref, "postRestAsync", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/ut/device/AidCallback;)V");
            }
            IntPtr native_p0 = JNIEnv.NewString(p0);
            IntPtr native_p1 = JNIEnv.NewString(p1);
            IntPtr native_p2 = JNIEnv.NewString(p2);
            IntPtr native_p3 = JNIEnv.NewString(p3);

            if (GetType() == ThresholdType)
            {
                JNIEnv.CallVoidMethod(Handle, id_postRestAsync_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Lcom_ut_device_AidCallback_, new JValue(native_p0), new JValue(native_p1), new JValue(native_p2), new JValue(native_p3), new JValue(p4));
            }
            else
            {
                JNIEnv.CallNonvirtualVoidMethod(Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "postRestAsync", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/ut/device/AidCallback;)V"), new JValue(native_p0), new JValue(native_p1), new JValue(native_p2), new JValue(native_p3), new JValue(p4));
            }
            JNIEnv.DeleteLocalRef(native_p0);
            JNIEnv.DeleteLocalRef(native_p1);
            JNIEnv.DeleteLocalRef(native_p2);
            JNIEnv.DeleteLocalRef(native_p3);
        }
        public static unsafe void GetAidAsync(string p0, string p1, global::Android.Content.Context p2, global::Com.UT.Device.IAidCallback p3)
        {
            if (id_getAidAsync_Ljava_lang_String_Ljava_lang_String_Landroid_content_Context_Lcom_ut_device_AidCallback_ == IntPtr.Zero)
            {
                id_getAidAsync_Ljava_lang_String_Ljava_lang_String_Landroid_content_Context_Lcom_ut_device_AidCallback_ = JNIEnv.GetStaticMethodID(class_ref, "getAidAsync", "(Ljava/lang/String;Ljava/lang/String;Landroid/content/Context;Lcom/ut/device/AidCallback;)V");
            }
            IntPtr native_p0 = JNIEnv.NewString(p0);
            IntPtr native_p1 = JNIEnv.NewString(p1);

            try {
                JValue *__args = stackalloc JValue [4];
                __args [0] = new JValue(native_p0);
                __args [1] = new JValue(native_p1);
                __args [2] = new JValue(p2);
                __args [3] = new JValue(p3);
                JNIEnv.CallStaticVoidMethod(class_ref, id_getAidAsync_Ljava_lang_String_Ljava_lang_String_Landroid_content_Context_Lcom_ut_device_AidCallback_, __args);
            } finally {
                JNIEnv.DeleteLocalRef(native_p0);
                JNIEnv.DeleteLocalRef(native_p1);
            }
        }
        public virtual unsafe void PostRestAsync(string p0, string p1, string p2, string p3, global::Com.UT.Device.IAidCallback p4)
        {
            if (id_postRestAsync_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Lcom_ut_device_AidCallback_ == IntPtr.Zero)
            {
                id_postRestAsync_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Lcom_ut_device_AidCallback_ = JNIEnv.GetMethodID(class_ref, "postRestAsync", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/ut/device/AidCallback;)V");
            }
            IntPtr native_p0 = JNIEnv.NewString(p0);
            IntPtr native_p1 = JNIEnv.NewString(p1);
            IntPtr native_p2 = JNIEnv.NewString(p2);
            IntPtr native_p3 = JNIEnv.NewString(p3);

            try {
                JValue *__args = stackalloc JValue [5];
                __args [0] = new JValue(native_p0);
                __args [1] = new JValue(native_p1);
                __args [2] = new JValue(native_p2);
                __args [3] = new JValue(native_p3);
                __args [4] = new JValue(p4);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_postRestAsync_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Lcom_ut_device_AidCallback_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "postRestAsync", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/ut/device/AidCallback;)V"), __args);
                }
            } finally {
                JNIEnv.DeleteLocalRef(native_p0);
                JNIEnv.DeleteLocalRef(native_p1);
                JNIEnv.DeleteLocalRef(native_p2);
                JNIEnv.DeleteLocalRef(native_p3);
            }
        }