public virtual unsafe void SetCharacteristicNotification(global::Java.Util.UUID service, global::Java.Util.UUID character, bool enable, global::Com.Vivalnk.Sdk.Common.Ble.Connect.Request.NotifyRequest.INotifyChangeListener listener, bool loggable)
        {
            const string __id = "setCharacteristicNotification.(Ljava/util/UUID;Ljava/util/UUID;ZLcom/vivalnk/sdk/common/ble/connect/request/NotifyRequest$NotifyChangeListener;Z)V";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [5];
                __args [0] = new JniArgumentValue((service == null) ? IntPtr.Zero : ((global::Java.Lang.Object)service).Handle);
                __args [1] = new JniArgumentValue((character == null) ? IntPtr.Zero : ((global::Java.Lang.Object)character).Handle);
                __args [2] = new JniArgumentValue(enable);
                __args [3] = new JniArgumentValue((listener == null) ? IntPtr.Zero : ((global::Java.Lang.Object)listener).Handle);
                __args [4] = new JniArgumentValue(loggable);
                _members.InstanceMethods.InvokeVirtualVoidMethod(__id, this, __args);
            } finally {
            }
        }
        public unsafe NotifyRequest(string mac, global::Com.Vivalnk.Sdk.Common.Ble.Connect.Base.IORequestOptions requestOptions, global::Com.Vivalnk.Sdk.Common.Ble.Connect.Request.NotifyRequest.INotifyChangeListener listener, global::Java.Util.UUID service, global::Java.Util.UUID character, bool enable)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            const string __id = "(Ljava/lang/String;Lcom/vivalnk/sdk/common/ble/connect/base/IORequestOptions;Lcom/vivalnk/sdk/common/ble/connect/request/NotifyRequest$NotifyChangeListener;Ljava/util/UUID;Ljava/util/UUID;Z)V";

            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            IntPtr native_mac = JNIEnv.NewString(mac);

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [6];
                __args [0] = new JniArgumentValue(native_mac);
                __args [1] = new JniArgumentValue((requestOptions == null) ? IntPtr.Zero : ((global::Java.Lang.Object)requestOptions).Handle);
                __args [2] = new JniArgumentValue((listener == null) ? IntPtr.Zero : ((global::Java.Lang.Object)listener).Handle);
                __args [3] = new JniArgumentValue((service == null) ? IntPtr.Zero : ((global::Java.Lang.Object)service).Handle);
                __args [4] = new JniArgumentValue((character == null) ? IntPtr.Zero : ((global::Java.Lang.Object)character).Handle);
                __args [5] = new JniArgumentValue(enable);
                var __r = _members.InstanceMethods.StartCreateInstance(__id, ((object)this).GetType(), __args);
                SetHandle(__r.Handle, JniHandleOwnership.TransferLocalRef);
                _members.InstanceMethods.FinishCreateInstance(__id, this, __args);
            } finally {
                JNIEnv.DeleteLocalRef(native_mac);
            }
        }
        public unsafe void SetCharacteristicNotification(global::Java.Util.UUID p0, global::Java.Util.UUID p1, bool p2, global::Com.Vivalnk.Sdk.Common.Ble.Connect.Request.NotifyRequest.INotifyChangeListener p3, bool p4)
        {
            if (id_setCharacteristicNotification_Ljava_util_UUID_Ljava_util_UUID_ZLcom_vivalnk_sdk_common_ble_connect_request_NotifyRequest_NotifyChangeListener_Z == IntPtr.Zero)
            {
                id_setCharacteristicNotification_Ljava_util_UUID_Ljava_util_UUID_ZLcom_vivalnk_sdk_common_ble_connect_request_NotifyRequest_NotifyChangeListener_Z = JNIEnv.GetMethodID(class_ref, "setCharacteristicNotification", "(Ljava/util/UUID;Ljava/util/UUID;ZLcom/vivalnk/sdk/common/ble/connect/request/NotifyRequest$NotifyChangeListener;Z)V");
            }
            JValue *__args = stackalloc JValue [5];

            __args [0] = new JValue((p0 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p0).Handle);
            __args [1] = new JValue((p1 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p1).Handle);
            __args [2] = new JValue(p2);
            __args [3] = new JValue((p3 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p3).Handle);
            __args [4] = new JValue(p4);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_setCharacteristicNotification_Ljava_util_UUID_Ljava_util_UUID_ZLcom_vivalnk_sdk_common_ble_connect_request_NotifyRequest_NotifyChangeListener_Z, __args);
        }