public static unsafe void UnhookMethod(global::Java.Lang.Reflect.IMember hookMethod, global::Xposed.XC_MethodHook @callback)
        {
            const string __id = "unhookMethod.(Ljava/lang/reflect/Member;Lde/robv/android/xposed/XC_MethodHook;)V";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [2];
                __args [0] = new JniArgumentValue((hookMethod == null) ? IntPtr.Zero : ((global::Java.Lang.Object)hookMethod).Handle);
                __args [1] = new JniArgumentValue((@callback == null) ? IntPtr.Zero : ((global::Java.Lang.Object)@callback).Handle);
                _members.StaticMethods.InvokeVoidMethod(__id, __args);
            } finally {
            }
        }
        public static unsafe global::Xposed.XC_MethodHook.Unhook HookMethod(global::Java.Lang.Reflect.IMember hookMethod, global::Xposed.XC_MethodHook @callback)
        {
            const string __id = "hookMethod.(Ljava/lang/reflect/Member;Lde/robv/android/xposed/XC_MethodHook;)Lde/robv/android/xposed/XC_MethodHook$Unhook;";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [2];
                __args [0] = new JniArgumentValue((hookMethod == null) ? IntPtr.Zero : ((global::Java.Lang.Object)hookMethod).Handle);
                __args [1] = new JniArgumentValue((@callback == null) ? IntPtr.Zero : ((global::Java.Lang.Object)@callback).Handle);
                var __rm = _members.StaticMethods.InvokeObjectMethod(__id, __args);
                return(global::Java.Lang.Object.GetObject <global::Xposed.XC_MethodHook.Unhook> (__rm.Handle, JniHandleOwnership.TransferLocalRef));
            } finally {
            }
        }
        public static unsafe global::Java.Lang.Object InvokeOriginalMethod(global::Java.Lang.Reflect.IMember method, global::Java.Lang.Object thisObject, global::Java.Lang.Object[] args)
        {
            const string __id        = "invokeOriginalMethod.(Ljava/lang/reflect/Member;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;";
            IntPtr       native_args = JNIEnv.NewArray(args);

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [3];
                __args [0] = new JniArgumentValue((method == null) ? IntPtr.Zero : ((global::Java.Lang.Object)method).Handle);
                __args [1] = new JniArgumentValue((thisObject == null) ? IntPtr.Zero : ((global::Java.Lang.Object)thisObject).Handle);
                __args [2] = new JniArgumentValue(native_args);
                var __rm = _members.StaticMethods.InvokeObjectMethod(__id, __args);
                return(global::Java.Lang.Object.GetObject <global::Java.Lang.Object> (__rm.Handle, JniHandleOwnership.TransferLocalRef));
            } finally {
                if (args != null)
                {
                    JNIEnv.CopyArray(native_args, args);
                    JNIEnv.DeleteLocalRef(native_args);
                }
            }
        }