public unsafe MsalDeclinedScopeException(global::System.Collections.Generic.IList <string> grantedScopes, global::System.Collections.Generic.IList <string> declinedScopes, global::Com.Microsoft.Identity.Client.AcquireTokenSilentParameters silentParametersForGrantedScopes) : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            const string __id = "(Ljava/util/List;Ljava/util/List;Lcom/microsoft/identity/client/AcquireTokenSilentParameters;)V";

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

            IntPtr native_grantedScopes = global::Android.Runtime.JavaList <string> .ToLocalJniHandle(grantedScopes);

            IntPtr native_declinedScopes = global::Android.Runtime.JavaList <string> .ToLocalJniHandle(declinedScopes);

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [3];
                __args [0] = new JniArgumentValue(native_grantedScopes);
                __args [1] = new JniArgumentValue(native_declinedScopes);
                __args [2] = new JniArgumentValue((silentParametersForGrantedScopes == null) ? IntPtr.Zero : ((global::Java.Lang.Object)silentParametersForGrantedScopes).Handle);
                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_grantedScopes);
                JNIEnv.DeleteLocalRef(native_declinedScopes);
                global::System.GC.KeepAlive(grantedScopes);
                global::System.GC.KeepAlive(declinedScopes);
                global::System.GC.KeepAlive(silentParametersForGrantedScopes);
            }
        }
        public static unsafe global::Com.Microsoft.Identity.Common.Internal.Commands.Parameters.SilentTokenCommandParameters CreateSilentTokenCommandParameters(global::Com.Microsoft.Identity.Client.PublicClientApplicationConfiguration configuration, global::Com.Microsoft.Identity.Common.Internal.Providers.Oauth2.OAuth2TokenCache tokenCache, global::Com.Microsoft.Identity.Client.AcquireTokenSilentParameters parameters)
        {
            const string __id = "createSilentTokenCommandParameters.(Lcom/microsoft/identity/client/PublicClientApplicationConfiguration;Lcom/microsoft/identity/common/internal/providers/oauth2/OAuth2TokenCache;Lcom/microsoft/identity/client/AcquireTokenSilentParameters;)Lcom/microsoft/identity/common/internal/commands/parameters/SilentTokenCommandParameters;";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [3];
                __args [0] = new JniArgumentValue((configuration == null) ? IntPtr.Zero : ((global::Java.Lang.Object)configuration).Handle);
                __args [1] = new JniArgumentValue((tokenCache == null) ? IntPtr.Zero : ((global::Java.Lang.Object)tokenCache).Handle);
                __args [2] = new JniArgumentValue((parameters == null) ? IntPtr.Zero : ((global::Java.Lang.Object)parameters).Handle);
                var __rm = _members.StaticMethods.InvokeObjectMethod(__id, __args);
                return(global::Java.Lang.Object.GetObject <global::Com.Microsoft.Identity.Common.Internal.Commands.Parameters.SilentTokenCommandParameters> (__rm.Handle, JniHandleOwnership.TransferLocalRef));
            } finally {
                global::System.GC.KeepAlive(configuration);
                global::System.GC.KeepAlive(tokenCache);
                global::System.GC.KeepAlive(parameters);
            }
        }