public unsafe PopAuthenticationSchemeInternal(global::Com.Microsoft.Identity.Common.Internal.Util.IClockSkewManager clockSkewManager, string httpMethod, global::Java.Net.URL url, string nonce, string clientClaims) : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            const string __id = "(Lcom/microsoft/identity/common/internal/util/IClockSkewManager;Ljava/lang/String;Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;)V";

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

            IntPtr native_httpMethod   = JNIEnv.NewString(httpMethod);
            IntPtr native_nonce        = JNIEnv.NewString(nonce);
            IntPtr native_clientClaims = JNIEnv.NewString(clientClaims);

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [5];
                __args [0] = new JniArgumentValue((clockSkewManager == null) ? IntPtr.Zero : ((global::Java.Lang.Object)clockSkewManager).Handle);
                __args [1] = new JniArgumentValue(native_httpMethod);
                __args [2] = new JniArgumentValue((url == null) ? IntPtr.Zero : ((global::Java.Lang.Object)url).Handle);
                __args [3] = new JniArgumentValue(native_nonce);
                __args [4] = new JniArgumentValue(native_clientClaims);
                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_httpMethod);
                JNIEnv.DeleteLocalRef(native_nonce);
                JNIEnv.DeleteLocalRef(native_clientClaims);
                global::System.GC.KeepAlive(clockSkewManager);
                global::System.GC.KeepAlive(url);
            }
        }
        public virtual unsafe void SetClockSkewManager(global::Com.Microsoft.Identity.Common.Internal.Util.IClockSkewManager clockSkewManager)
        {
            const string __id = "setClockSkewManager.(Lcom/microsoft/identity/common/internal/util/IClockSkewManager;)V";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [1];
                __args [0] = new JniArgumentValue((clockSkewManager == null) ? IntPtr.Zero : ((global::Java.Lang.Object)clockSkewManager).Handle);
                _members.InstanceMethods.InvokeVirtualVoidMethod(__id, this, __args);
            } finally {
                global::System.GC.KeepAlive(clockSkewManager);
            }
        }