public class com.microsoft.aad.adal4j.AuthenticationContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.microsoft.aad.adal4j.AuthenticationContext
  super_class: java.lang.Object
{
  final org.slf4j.Logger log;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x0010) ACC_FINAL

  final com.microsoft.aad.adal4j.AuthenticationAuthority authenticationAuthority;
    descriptor: Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
    flags: (0x0010) ACC_FINAL

  java.lang.String correlationId;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  private java.lang.String authority;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.concurrent.ExecutorService service;
    descriptor: Ljava/util/concurrent/ExecutorService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean validateAuthority;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  java.net.Proxy proxy;
    descriptor: Ljava/net/Proxy;
    flags: (0x0000) 

  javax.net.ssl.SSLSocketFactory sslSocketFactory;
    descriptor: Ljavax/net/ssl/SSLSocketFactory;
    flags: (0x0000) 

  private boolean logPii;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public boolean isLogPii();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
         0: .line 84
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.logPii:Z
            ireturn
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/aad/adal4j/AuthenticationContext;

  public void setLogPii(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // boolean logPii
         0: .line 94
            aload 0 /* this */
            iload 1 /* logPii */
            putfield com.microsoft.aad.adal4j.AuthenticationContext.logPii:Z
         1: .line 95
            return
        end local 1 // boolean logPii
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    2     1  logPii  Z
    MethodParameters:
        Name  Flags
      logPii  

  public void <init>(java.lang.String, boolean, java.util.concurrent.ExecutorService);
    descriptor: (Ljava/lang/String;ZLjava/util/concurrent/ExecutorService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authority
        start local 2 // boolean validateAuthority
        start local 3 // java.util.concurrent.ExecutorService service
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
         2: .line 64
            ldc Lcom/microsoft/aad/adal4j/AuthenticationContext;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putfield com.microsoft.aad.adal4j.AuthenticationContext.log:Lorg/slf4j/Logger;
         3: .line 75
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.aad.adal4j.AuthenticationContext.logPii:Z
         4: .line 115
            aload 1 /* authority */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 116
            new java.lang.IllegalArgumentException
            dup
            ldc "authority is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 119
      StackMap locals: com.microsoft.aad.adal4j.AuthenticationContext java.lang.String int java.util.concurrent.ExecutorService
      StackMap stack:
            aload 3 /* service */
            ifnonnull 8
         7: .line 120
            new java.lang.IllegalArgumentException
            dup
            ldc "service is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* service */
            putfield com.microsoft.aad.adal4j.AuthenticationContext.service:Ljava/util/concurrent/ExecutorService;
         9: .line 123
            aload 0 /* this */
            iload 2 /* validateAuthority */
            putfield com.microsoft.aad.adal4j.AuthenticationContext.validateAuthority:Z
        10: .line 124
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* authority */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.canonicalizeUri:(Ljava/lang/String;)Ljava/lang/String;
            putfield com.microsoft.aad.adal4j.AuthenticationContext.authority:Ljava/lang/String;
        11: .line 126
            aload 0 /* this */
            new com.microsoft.aad.adal4j.AuthenticationAuthority
            dup
            new java.net.URL
            dup
        12: .line 127
            aload 0 /* this */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.getAuthority:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.shouldValidateAuthority:()Z
            invokespecial com.microsoft.aad.adal4j.AuthenticationAuthority.<init>:(Ljava/net/URL;Z)V
        13: .line 126
            putfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
        14: .line 128
            return
        end local 3 // java.util.concurrent.ExecutorService service
        end local 2 // boolean validateAuthority
        end local 1 // java.lang.String authority
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   15     1          authority  Ljava/lang/String;
            0   15     2  validateAuthority  Z
            0   15     3            service  Ljava/util/concurrent/ExecutorService;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
                   Name  Flags
      authority          final
      validateAuthority  final
      service            final

  public java.net.Proxy getProxy();
    descriptor: ()Ljava/net/Proxy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
         0: .line 136
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.proxy:Ljava/net/Proxy;
            areturn
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/aad/adal4j/AuthenticationContext;

  public void setProxy(java.net.Proxy);
    descriptor: (Ljava/net/Proxy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.net.Proxy proxy
         0: .line 148
            aload 0 /* this */
            aload 1 /* proxy */
            putfield com.microsoft.aad.adal4j.AuthenticationContext.proxy:Ljava/net/Proxy;
         1: .line 149
            return
        end local 1 // java.net.Proxy proxy
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    2     1  proxy  Ljava/net/Proxy;
    MethodParameters:
       Name  Flags
      proxy  

  public javax.net.ssl.SSLSocketFactory getSslSocketFactory();
    descriptor: ()Ljavax/net/ssl/SSLSocketFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
         0: .line 157
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
            areturn
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/aad/adal4j/AuthenticationContext;

  public void setSslSocketFactory(javax.net.ssl.SSLSocketFactory);
    descriptor: (Ljavax/net/ssl/SSLSocketFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // javax.net.ssl.SSLSocketFactory sslSocketFactory
         0: .line 166
            aload 0 /* this */
            aload 1 /* sslSocketFactory */
            putfield com.microsoft.aad.adal4j.AuthenticationContext.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
         1: .line 167
            return
        end local 1 // javax.net.ssl.SSLSocketFactory sslSocketFactory
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    2     1  sslSocketFactory  Ljavax/net/ssl/SSLSocketFactory;
    MethodParameters:
                  Name  Flags
      sslSocketFactory  

  private java.lang.String canonicalizeUri(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authority
         0: .line 170
            aload 1 /* authority */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 171
            new java.lang.StringBuilder
            dup
            aload 1 /* authority */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* authority */
         2: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* authority */
            areturn
        end local 1 // java.lang.String authority
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    3     1  authority  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      authority  

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireToken(java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // java.lang.String clientId
        start local 3 // java.lang.String username
        start local 4 // java.lang.String password
        start local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 198
            aload 1 /* resource */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 199
            new java.lang.IllegalArgumentException
            dup
            ldc "resource is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 2 /* clientId */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 203
            new java.lang.IllegalArgumentException
            dup
            ldc "clientId is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 206
      StackMap locals:
      StackMap stack:
            aload 3 /* username */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 207
            new java.lang.IllegalArgumentException
            dup
            ldc "username is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 210
      StackMap locals:
      StackMap stack:
            new com.microsoft.aad.adal4j.ClientAuthenticationPost
            dup
            getstatic com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod.NONE:Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 2 /* clientId */
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
            invokespecial com.microsoft.aad.adal4j.ClientAuthenticationPost.<init>:(Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;Lcom/nimbusds/oauth2/sdk/id/ClientID;)V
            astore 6 /* clientAuth */
        start local 6 // com.microsoft.aad.adal4j.ClientAuthenticationPost clientAuth
         7: .line 212
            aload 4 /* password */
            ifnull 14
         8: .line 213
            aload 0 /* this */
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         9: .line 214
            new com.nimbusds.oauth2.sdk.ResourceOwnerPasswordCredentialsGrant
            dup
            aload 3 /* username */
            new com.nimbusds.oauth2.sdk.auth.Secret
            dup
        10: .line 215
            aload 4 /* password */
            invokespecial com.nimbusds.oauth2.sdk.auth.Secret.<init>:(Ljava/lang/String;)V
        11: .line 214
            invokespecial com.nimbusds.oauth2.sdk.ResourceOwnerPasswordCredentialsGrant.<init>:(Ljava/lang/String;Lcom/nimbusds/oauth2/sdk/auth/Secret;)V
        12: .line 215
            aload 1 /* resource */
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            aload 6 /* clientAuth */
            aload 5 /* callback */
        13: .line 213
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        14: .line 217
      StackMap locals: com.microsoft.aad.adal4j.ClientAuthenticationPost
      StackMap stack:
            aload 0 /* this */
            new com.microsoft.aad.adal4j.AdalIntegratedAuthorizationGrant
            dup
            aload 3 /* username */
            aload 1 /* resource */
            invokespecial com.microsoft.aad.adal4j.AdalIntegratedAuthorizationGrant.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            aload 6 /* clientAuth */
            aload 5 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 6 // com.microsoft.aad.adal4j.ClientAuthenticationPost clientAuth
        end local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 4 // java.lang.String password
        end local 3 // java.lang.String username
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   15     1    resource  Ljava/lang/String;
            0   15     2    clientId  Ljava/lang/String;
            0   15     3    username  Ljava/lang/String;
            0   15     4    password  Ljava/lang/String;
            0   15     5    callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            7   15     6  clientAuth  Lcom/microsoft/aad/adal4j/ClientAuthenticationPost;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
          Name  Flags
      resource  final
      clientId  final
      username  final
      password  final
      callback  final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireToken(java.lang.String, com.microsoft.aad.adal4j.ClientAssertion, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 240
            aload 0 /* this */
            aload 1 /* resource */
            aload 2 /* clientAssertion */
            iconst_1
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateInput:(Ljava/lang/String;Ljava/lang/Object;Z)V
         1: .line 241
            aload 0 /* this */
            aload 2 /* clientAssertion */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.createClientAuthFromClientAssertion:(Lcom/microsoft/aad/adal4j/ClientAssertion;)Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            astore 4 /* clientAuth */
        start local 4 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         2: .line 242
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         3: .line 243
            new com.nimbusds.oauth2.sdk.ClientCredentialsGrant
            dup
            invokespecial com.nimbusds.oauth2.sdk.ClientCredentialsGrant.<init>:()V
            aload 1 /* resource */
         4: .line 242
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 5 /* authGrant */
        start local 5 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
         5: .line 244
            aload 0 /* this */
            aload 5 /* authGrant */
            aload 4 /* clientAuth */
            aload 3 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 5 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 4 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    6     1         resource  Ljava/lang/String;
            0    6     2  clientAssertion  Lcom/microsoft/aad/adal4j/ClientAssertion;
            0    6     3         callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            2    6     4       clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            5    6     5        authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                 Name  Flags
      resource         final
      clientAssertion  final
      callback         final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireToken(java.lang.String, com.microsoft.aad.adal4j.UserAssertion, com.microsoft.aad.adal4j.ClientCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        start local 3 // com.microsoft.aad.adal4j.ClientCredential credential
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 270
            aload 0 /* this */
            aload 1 /* resource */
            aload 2 /* userAssertion */
            aload 3 /* credential */
            iconst_1
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateOnBehalfOfRequestInput:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Ljava/lang/Object;Z)V
         1: .line 271
            new com.nimbusds.oauth2.sdk.auth.ClientSecretPost
            dup
         2: .line 272
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 3 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientId:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
            new com.nimbusds.oauth2.sdk.auth.Secret
            dup
         3: .line 273
            aload 3 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientSecret:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.auth.Secret.<init>:(Ljava/lang/String;)V
         4: .line 271
            invokespecial com.nimbusds.oauth2.sdk.auth.ClientSecretPost.<init>:(Lcom/nimbusds/oauth2/sdk/id/ClientID;Lcom/nimbusds/oauth2/sdk/auth/Secret;)V
            astore 5 /* clientAuth */
        start local 5 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         5: .line 274
            aload 0 /* this */
            aload 1 /* resource */
            aload 2 /* userAssertion */
            aload 5 /* clientAuth */
            aload 4 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenOnBehalfOf:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 5 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // com.microsoft.aad.adal4j.ClientCredential credential
        end local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    6     1       resource  Ljava/lang/String;
            0    6     2  userAssertion  Lcom/microsoft/aad/adal4j/UserAssertion;
            0    6     3     credential  Lcom/microsoft/aad/adal4j/ClientCredential;
            0    6     4       callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            5    6     5     clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
               Name  Flags
      resource       final
      userAssertion  final
      credential     final
      callback       final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireToken(java.lang.String, com.microsoft.aad.adal4j.UserAssertion, com.microsoft.aad.adal4j.AsymmetricKeyCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        start local 3 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 302
            aload 0 /* this */
            aload 1 /* resource */
            aload 2 /* userAssertion */
            aload 3 /* credential */
            iconst_1
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateOnBehalfOfRequestInput:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Ljava/lang/Object;Z)V
         1: .line 304
            aload 3 /* credential */
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
            invokevirtual com.microsoft.aad.adal4j.AuthenticationAuthority.getSelfSignedJwtAudience:()Ljava/lang/String;
            invokestatic com.microsoft.aad.adal4j.JwtHelper.buildJwt:(Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;)Lcom/microsoft/aad/adal4j/ClientAssertion;
         2: .line 303
            astore 5 /* clientAssertion */
        start local 5 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
         3: .line 305
            aload 0 /* this */
            aload 5 /* clientAssertion */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.createClientAuthFromClientAssertion:(Lcom/microsoft/aad/adal4j/ClientAssertion;)Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            astore 6 /* clientAuth */
        start local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         4: .line 306
            aload 0 /* this */
            aload 1 /* resource */
            aload 2 /* userAssertion */
            aload 6 /* clientAuth */
            aload 4 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenOnBehalfOf:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 5 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        end local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    5     1         resource  Ljava/lang/String;
            0    5     2    userAssertion  Lcom/microsoft/aad/adal4j/UserAssertion;
            0    5     3       credential  Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
            0    5     4         callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            3    5     5  clientAssertion  Lcom/microsoft/aad/adal4j/ClientAssertion;
            4    5     6       clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
               Name  Flags
      resource       final
      userAssertion  final
      credential     final
      callback       final

  private java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenOnBehalfOf(java.lang.String, com.microsoft.aad.adal4j.UserAssertion, com.nimbusds.oauth2.sdk.auth.ClientAuthentication, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        start local 3 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuthentication
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 314
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* params */
        start local 5 // java.util.Map params
         1: .line 315
            aload 5 /* params */
            ldc "resource"
            aload 1 /* resource */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 316
            aload 5 /* params */
            ldc "requested_token_use"
            ldc "on_behalf_of"
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 318
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         4: .line 319
            new com.nimbusds.oauth2.sdk.JWTBearerGrant
            dup
            aload 2 /* userAssertion */
            invokevirtual com.microsoft.aad.adal4j.UserAssertion.getAssertion:()Ljava/lang/String;
            invokestatic com.nimbusds.jwt.SignedJWT.parse:(Ljava/lang/String;)Lcom/nimbusds/jwt/SignedJWT;
            invokespecial com.nimbusds.oauth2.sdk.JWTBearerGrant.<init>:(Lcom/nimbusds/jwt/SignedJWT;)V
            aload 5 /* params */
         5: .line 318
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/util/Map;)V
            astore 6 /* grant */
        start local 6 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant grant
         6: .line 321
            aload 0 /* this */
            aload 6 /* grant */
            aload 3 /* clientAuthentication */
            aload 4 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
         7: areturn
        end local 6 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant grant
         8: .line 323
      StackMap locals: com.microsoft.aad.adal4j.AuthenticationContext java.lang.String com.microsoft.aad.adal4j.UserAssertion com.nimbusds.oauth2.sdk.auth.ClientAuthentication com.microsoft.aad.adal4j.AuthenticationCallback java.util.Map
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         9: .line 324
            new com.microsoft.aad.adal4j.AuthenticationException
            dup
            aload 6 /* e */
            invokespecial com.microsoft.aad.adal4j.AuthenticationException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        end local 5 // java.util.Map params
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuthentication
        end local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   10     1              resource  Ljava/lang/String;
            0   10     2         userAssertion  Lcom/microsoft/aad/adal4j/UserAssertion;
            0   10     3  clientAuthentication  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            0   10     4              callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            1   10     5                params  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6    8     6                 grant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
            9   10     6                     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     7       8  Class java.lang.Exception
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                      Name  Flags
      resource              final
      userAssertion         final
      clientAuthentication  final
      callback              final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireToken(java.lang.String, com.microsoft.aad.adal4j.ClientCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // com.microsoft.aad.adal4j.ClientCredential credential
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 347
            aload 0 /* this */
            aload 1 /* resource */
            aload 2 /* credential */
            iconst_1
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateInput:(Ljava/lang/String;Ljava/lang/Object;Z)V
         1: .line 348
            new com.nimbusds.oauth2.sdk.auth.ClientSecretPost
            dup
         2: .line 349
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 2 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientId:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
            new com.nimbusds.oauth2.sdk.auth.Secret
            dup
         3: .line 350
            aload 2 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientSecret:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.auth.Secret.<init>:(Ljava/lang/String;)V
         4: .line 348
            invokespecial com.nimbusds.oauth2.sdk.auth.ClientSecretPost.<init>:(Lcom/nimbusds/oauth2/sdk/id/ClientID;Lcom/nimbusds/oauth2/sdk/auth/Secret;)V
            astore 4 /* clientAuth */
        start local 4 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         5: .line 351
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         6: .line 352
            new com.nimbusds.oauth2.sdk.ClientCredentialsGrant
            dup
            invokespecial com.nimbusds.oauth2.sdk.ClientCredentialsGrant.<init>:()V
            aload 1 /* resource */
         7: .line 351
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 5 /* authGrant */
        start local 5 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
         8: .line 353
            aload 0 /* this */
            aload 5 /* authGrant */
            aload 4 /* clientAuth */
            aload 3 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 5 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 4 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // com.microsoft.aad.adal4j.ClientCredential credential
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    9     1    resource  Ljava/lang/String;
            0    9     2  credential  Lcom/microsoft/aad/adal4j/ClientCredential;
            0    9     3    callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            5    9     4  clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            8    9     5   authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
            Name  Flags
      resource    final
      credential  final
      callback    final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireToken(java.lang.String, com.microsoft.aad.adal4j.AsymmetricKeyCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 376
            aload 0 /* this */
            aload 1 /* resource */
            aload 2 /* credential */
         1: .line 377
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
            invokevirtual com.microsoft.aad.adal4j.AuthenticationAuthority.getSelfSignedJwtAudience:()Ljava/lang/String;
         2: .line 376
            invokestatic com.microsoft.aad.adal4j.JwtHelper.buildJwt:(Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;)Lcom/microsoft/aad/adal4j/ClientAssertion;
         3: .line 378
            aload 3 /* callback */
         4: .line 376
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    5     1    resource  Ljava/lang/String;
            0    5     2  credential  Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
            0    5     3    callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Exceptions:
      throws com.microsoft.aad.adal4j.AuthenticationException
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
            Name  Flags
      resource    final
      credential  final
      callback    final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByAuthorizationCode(java.lang.String, java.lang.String, java.lang.String, java.net.URI, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.lang.String resource
        start local 3 // java.lang.String clientId
        start local 4 // java.net.URI redirectUri
        start local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 405
            new com.microsoft.aad.adal4j.ClientAuthenticationPost
            dup
         1: .line 406
            getstatic com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod.NONE:Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 3 /* clientId */
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
         2: .line 405
            invokespecial com.microsoft.aad.adal4j.ClientAuthenticationPost.<init>:(Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;Lcom/nimbusds/oauth2/sdk/id/ClientID;)V
            astore 6 /* clientAuth */
        start local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         3: .line 408
            aload 0 /* this */
            aload 1 /* authorizationCode */
            aload 4 /* redirectUri */
         4: .line 409
            aload 6 /* clientAuth */
            aload 2 /* resource */
         5: .line 408
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateAuthCodeRequestInput:(Ljava/lang/String;Ljava/net/URI;Ljava/lang/Object;Ljava/lang/String;)V
         6: .line 410
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         7: .line 411
            new com.nimbusds.oauth2.sdk.AuthorizationCodeGrant
            dup
            new com.nimbusds.oauth2.sdk.AuthorizationCode
            dup
         8: .line 412
            aload 1 /* authorizationCode */
            invokespecial com.nimbusds.oauth2.sdk.AuthorizationCode.<init>:(Ljava/lang/String;)V
            aload 4 /* redirectUri */
         9: .line 411
            invokespecial com.nimbusds.oauth2.sdk.AuthorizationCodeGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationCode;Ljava/net/URI;)V
        10: .line 412
            aload 2 /* resource */
        11: .line 410
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 7 /* authGrant */
        start local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        12: .line 413
            aload 0 /* this */
            aload 7 /* authGrant */
            aload 6 /* clientAuth */
            aload 5 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 4 // java.net.URI redirectUri
        end local 3 // java.lang.String clientId
        end local 2 // java.lang.String resource
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   13     1  authorizationCode  Ljava/lang/String;
            0   13     2           resource  Ljava/lang/String;
            0   13     3           clientId  Ljava/lang/String;
            0   13     4        redirectUri  Ljava/net/URI;
            0   13     5           callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            3   13     6         clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
           12   13     7          authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      resource           final
      clientId           final
      redirectUri        final
      callback           final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByAuthorizationCode(java.lang.String, java.net.URI, com.microsoft.aad.adal4j.ClientAssertion, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientAssertion;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.net.URI redirectUri
        start local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 437
            aload 0 /* this */
            aload 1 /* authorizationCode */
            aload 2 /* redirectUri */
         1: .line 438
            aload 3 /* clientAssertion */
            aconst_null
            aload 4 /* callback */
         2: .line 437
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByAuthorizationCode:(Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        end local 2 // java.net.URI redirectUri
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    3     1  authorizationCode  Ljava/lang/String;
            0    3     2        redirectUri  Ljava/net/URI;
            0    3     3    clientAssertion  Lcom/microsoft/aad/adal4j/ClientAssertion;
            0    3     4           callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Signature: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientAssertion;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      redirectUri        final
      clientAssertion    final
      callback           final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByAuthorizationCode(java.lang.String, java.net.URI, com.microsoft.aad.adal4j.ClientAssertion, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.net.URI redirectUri
        start local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        start local 4 // java.lang.String resource
        start local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 467
            aload 0 /* this */
            aload 1 /* authorizationCode */
            aload 2 /* redirectUri */
         1: .line 468
            aload 3 /* clientAssertion */
            aload 4 /* resource */
         2: .line 467
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateAuthCodeRequestInput:(Ljava/lang/String;Ljava/net/URI;Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 469
            aload 0 /* this */
            aload 3 /* clientAssertion */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.createClientAuthFromClientAssertion:(Lcom/microsoft/aad/adal4j/ClientAssertion;)Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            astore 6 /* clientAuth */
        start local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         4: .line 470
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         5: .line 471
            new com.nimbusds.oauth2.sdk.AuthorizationCodeGrant
            dup
            new com.nimbusds.oauth2.sdk.AuthorizationCode
            dup
         6: .line 472
            aload 1 /* authorizationCode */
            invokespecial com.nimbusds.oauth2.sdk.AuthorizationCode.<init>:(Ljava/lang/String;)V
            aload 2 /* redirectUri */
         7: .line 471
            invokespecial com.nimbusds.oauth2.sdk.AuthorizationCodeGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationCode;Ljava/net/URI;)V
         8: .line 472
            aload 4 /* resource */
         9: .line 470
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 7 /* authGrant */
        start local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        10: .line 473
            aload 0 /* this */
            aload 7 /* authGrant */
            aload 6 /* clientAuth */
            aload 5 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 4 // java.lang.String resource
        end local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        end local 2 // java.net.URI redirectUri
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   11     1  authorizationCode  Ljava/lang/String;
            0   11     2        redirectUri  Ljava/net/URI;
            0   11     3    clientAssertion  Lcom/microsoft/aad/adal4j/ClientAssertion;
            0   11     4           resource  Ljava/lang/String;
            0   11     5           callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            4   11     6         clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
           10   11     7          authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      redirectUri        final
      clientAssertion    final
      resource           final
      callback           final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByAuthorizationCode(java.lang.String, java.net.URI, com.microsoft.aad.adal4j.ClientCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.net.URI redirectUri
        start local 3 // com.microsoft.aad.adal4j.ClientCredential credential
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 497
            aload 0 /* this */
            aload 1 /* authorizationCode */
            aload 2 /* redirectUri */
         1: .line 498
            aload 3 /* credential */
            aconst_null
         2: .line 497
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateAuthCodeRequestInput:(Ljava/lang/String;Ljava/net/URI;Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 499
            aload 0 /* this */
            aload 1 /* authorizationCode */
         4: .line 500
            aload 2 /* redirectUri */
            aload 3 /* credential */
            aconst_null
            aload 4 /* callback */
         5: .line 499
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByAuthorizationCode:(Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // com.microsoft.aad.adal4j.ClientCredential credential
        end local 2 // java.net.URI redirectUri
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    6     1  authorizationCode  Ljava/lang/String;
            0    6     2        redirectUri  Ljava/net/URI;
            0    6     3         credential  Lcom/microsoft/aad/adal4j/ClientCredential;
            0    6     4           callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Signature: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      redirectUri        final
      credential         final
      callback           final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByAuthorizationCode(java.lang.String, java.net.URI, com.microsoft.aad.adal4j.ClientCredential, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.net.URI redirectUri
        start local 3 // com.microsoft.aad.adal4j.ClientCredential credential
        start local 4 // java.lang.String resource
        start local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 529
            aload 0 /* this */
            aload 1 /* authorizationCode */
            aload 2 /* redirectUri */
         1: .line 530
            aload 3 /* credential */
            aload 4 /* resource */
         2: .line 529
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateAuthCodeRequestInput:(Ljava/lang/String;Ljava/net/URI;Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 531
            new com.nimbusds.oauth2.sdk.auth.ClientSecretPost
            dup
         4: .line 532
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 3 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientId:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
            new com.nimbusds.oauth2.sdk.auth.Secret
            dup
         5: .line 533
            aload 3 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientSecret:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.auth.Secret.<init>:(Ljava/lang/String;)V
         6: .line 531
            invokespecial com.nimbusds.oauth2.sdk.auth.ClientSecretPost.<init>:(Lcom/nimbusds/oauth2/sdk/id/ClientID;Lcom/nimbusds/oauth2/sdk/auth/Secret;)V
            astore 6 /* clientAuth */
        start local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         7: .line 534
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         8: .line 535
            new com.nimbusds.oauth2.sdk.AuthorizationCodeGrant
            dup
            new com.nimbusds.oauth2.sdk.AuthorizationCode
            dup
         9: .line 536
            aload 1 /* authorizationCode */
            invokespecial com.nimbusds.oauth2.sdk.AuthorizationCode.<init>:(Ljava/lang/String;)V
            aload 2 /* redirectUri */
        10: .line 535
            invokespecial com.nimbusds.oauth2.sdk.AuthorizationCodeGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationCode;Ljava/net/URI;)V
        11: .line 536
            aload 4 /* resource */
        12: .line 534
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 7 /* authGrant */
        start local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        13: .line 537
            aload 0 /* this */
            aload 7 /* authGrant */
            aload 6 /* clientAuth */
            aload 5 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 4 // java.lang.String resource
        end local 3 // com.microsoft.aad.adal4j.ClientCredential credential
        end local 2 // java.net.URI redirectUri
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   14     1  authorizationCode  Ljava/lang/String;
            0   14     2        redirectUri  Ljava/net/URI;
            0   14     3         credential  Lcom/microsoft/aad/adal4j/ClientCredential;
            0   14     4           resource  Ljava/lang/String;
            0   14     5           callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            7   14     6         clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
           13   14     7          authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      redirectUri        final
      credential         final
      resource           final
      callback           final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByAuthorizationCode(java.lang.String, java.net.URI, com.microsoft.aad.adal4j.AsymmetricKeyCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.net.URI redirectUri
        start local 3 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 566
            aload 0 /* this */
            aload 1 /* authorizationCode */
         1: .line 567
            aload 2 /* redirectUri */
            aload 3 /* credential */
            aconst_null
            aload 4 /* callback */
         2: .line 566
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByAuthorizationCode:(Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        end local 2 // java.net.URI redirectUri
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    3     1  authorizationCode  Ljava/lang/String;
            0    3     2        redirectUri  Ljava/net/URI;
            0    3     3         credential  Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
            0    3     4           callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Exceptions:
      throws com.microsoft.aad.adal4j.AuthenticationException
    Signature: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      redirectUri        final
      credential         final
      callback           final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByAuthorizationCode(java.lang.String, java.net.URI, com.microsoft.aad.adal4j.AsymmetricKeyCredential, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.net.URI redirectUri
        start local 3 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        start local 4 // java.lang.String resource
        start local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 599
            aload 0 /* this */
            aload 1 /* authorizationCode */
            aload 2 /* redirectUri */
         1: .line 600
            aload 3 /* credential */
            aload 4 /* resource */
         2: .line 599
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateAuthCodeRequestInput:(Ljava/lang/String;Ljava/net/URI;Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 601
            aload 0 /* this */
            aload 1 /* authorizationCode */
         4: .line 602
            aload 2 /* redirectUri */
         5: .line 603
            aload 3 /* credential */
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
         6: .line 604
            invokevirtual com.microsoft.aad.adal4j.AuthenticationAuthority.getSelfSignedJwtAudience:()Ljava/lang/String;
         7: .line 603
            invokestatic com.microsoft.aad.adal4j.JwtHelper.buildJwt:(Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;)Lcom/microsoft/aad/adal4j/ClientAssertion;
         8: .line 604
            aload 4 /* resource */
         9: .line 605
            aload 5 /* callback */
        10: .line 601
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByAuthorizationCode:(Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 4 // java.lang.String resource
        end local 3 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        end local 2 // java.net.URI redirectUri
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   11     1  authorizationCode  Ljava/lang/String;
            0   11     2        redirectUri  Ljava/net/URI;
            0   11     3         credential  Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
            0   11     4           resource  Ljava/lang/String;
            0   11     5           callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Exceptions:
      throws com.microsoft.aad.adal4j.AuthenticationException
    Signature: (Ljava/lang/String;Ljava/net/URI;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      redirectUri        final
      credential         final
      resource           final
      callback           final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.DeviceCode> acquireDeviceCode(java.lang.String, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback<com.microsoft.aad.adal4j.DeviceCode>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String clientId
        start local 2 // java.lang.String resource
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 622
            aload 0 /* this */
            aload 1 /* clientId */
            aload 2 /* resource */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateDeviceCodeRequestInput:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 623
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.service:Ljava/util/concurrent/ExecutorService;
         2: .line 624
            new com.microsoft.aad.adal4j.AcquireDeviceCodeCallable
            dup
            aload 0 /* this */
            aload 1 /* clientId */
            aload 2 /* resource */
            aload 3 /* callback */
            invokespecial com.microsoft.aad.adal4j.AcquireDeviceCodeCallable.<init>:(Lcom/microsoft/aad/adal4j/AuthenticationContext;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)V
         3: .line 623
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            areturn
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // java.lang.String resource
        end local 1 // java.lang.String clientId
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    4     1  clientId  Ljava/lang/String;
            0    4     2  resource  Ljava/lang/String;
            0    4     3  callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback<Lcom/microsoft/aad/adal4j/DeviceCode;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback<Lcom/microsoft/aad/adal4j/DeviceCode;>;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/DeviceCode;>;
    MethodParameters:
          Name  Flags
      clientId  final
      resource  final
      callback  final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByDeviceCode(com.microsoft.aad.adal4j.DeviceCode, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Lcom/microsoft/aad/adal4j/DeviceCode;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // com.microsoft.aad.adal4j.DeviceCode deviceCode
        start local 2 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 644
            new com.microsoft.aad.adal4j.ClientAuthenticationPost
            dup
         1: .line 645
            getstatic com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod.NONE:Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 1 /* deviceCode */
            invokevirtual com.microsoft.aad.adal4j.DeviceCode.getClientId:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
         2: .line 644
            invokespecial com.microsoft.aad.adal4j.ClientAuthenticationPost.<init>:(Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;Lcom/nimbusds/oauth2/sdk/id/ClientID;)V
            astore 3 /* clientAuth */
        start local 3 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         3: .line 647
            aload 0 /* this */
            aload 1 /* deviceCode */
            aload 3 /* clientAuth */
            aload 1 /* deviceCode */
            invokevirtual com.microsoft.aad.adal4j.DeviceCode.getResource:()Ljava/lang/String;
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateDeviceCodeRequestInput:(Lcom/microsoft/aad/adal4j/DeviceCode;Ljava/lang/Object;Ljava/lang/String;)V
         4: .line 649
            new com.microsoft.aad.adal4j.AdalDeviceCodeAuthorizationGrant
            dup
            aload 1 /* deviceCode */
            aload 1 /* deviceCode */
            invokevirtual com.microsoft.aad.adal4j.DeviceCode.getResource:()Ljava/lang/String;
            invokespecial com.microsoft.aad.adal4j.AdalDeviceCodeAuthorizationGrant.<init>:(Lcom/microsoft/aad/adal4j/DeviceCode;Ljava/lang/String;)V
            astore 4 /* deviceCodeGrant */
        start local 4 // com.microsoft.aad.adal4j.AdalDeviceCodeAuthorizationGrant deviceCodeGrant
         5: .line 651
            aload 0 /* this */
            aload 4 /* deviceCodeGrant */
            aload 3 /* clientAuth */
            aload 2 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 4 // com.microsoft.aad.adal4j.AdalDeviceCodeAuthorizationGrant deviceCodeGrant
        end local 3 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 2 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 1 // com.microsoft.aad.adal4j.DeviceCode deviceCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    6     1       deviceCode  Lcom/microsoft/aad/adal4j/DeviceCode;
            0    6     2         callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            3    6     3       clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            5    6     4  deviceCodeGrant  Lcom/microsoft/aad/adal4j/AdalDeviceCodeAuthorizationGrant;
    Exceptions:
      throws com.microsoft.aad.adal4j.AuthenticationException
    Signature: (Lcom/microsoft/aad/adal4j/DeviceCode;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
            Name  Flags
      deviceCode  final
      callback    final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, java.lang.String, com.microsoft.aad.adal4j.ClientAssertion, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // java.lang.String clientId
        start local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 674
            aload 0 /* this */
            aload 1 /* refreshToken */
            aload 2 /* clientId */
            aload 3 /* clientAssertion */
         1: .line 675
            aconst_null
            aload 4 /* callback */
         2: .line 674
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByRefreshToken:(Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    3     1     refreshToken  Ljava/lang/String;
            0    3     2         clientId  Ljava/lang/String;
            0    3     3  clientAssertion  Lcom/microsoft/aad/adal4j/ClientAssertion;
            0    3     4         callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                 Name  Flags
      refreshToken     final
      clientId         final
      clientAssertion  final
      callback         final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, java.lang.String, com.microsoft.aad.adal4j.ClientAssertion, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // java.lang.String clientId
        start local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        start local 4 // java.lang.String resource
        start local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 705
            aload 0 /* this */
            aload 1 /* refreshToken */
            aload 2 /* clientId */
         1: .line 706
            aload 3 /* clientAssertion */
         2: .line 705
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateRefreshTokenRequestInput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 707
            aload 0 /* this */
            aload 3 /* clientAssertion */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.createClientAuthFromClientAssertion:(Lcom/microsoft/aad/adal4j/ClientAssertion;)Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            astore 6 /* clientAuth */
        start local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         4: .line 708
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         5: .line 709
            new com.nimbusds.oauth2.sdk.RefreshTokenGrant
            dup
            new com.nimbusds.oauth2.sdk.token.RefreshToken
            dup
            aload 1 /* refreshToken */
            invokespecial com.nimbusds.oauth2.sdk.token.RefreshToken.<init>:(Ljava/lang/String;)V
            invokespecial com.nimbusds.oauth2.sdk.RefreshTokenGrant.<init>:(Lcom/nimbusds/oauth2/sdk/token/RefreshToken;)V
            aload 4 /* resource */
         6: .line 708
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 7 /* authGrant */
        start local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
         7: .line 710
            aload 0 /* this */
            aload 7 /* authGrant */
            aload 6 /* clientAuth */
            aload 5 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 7 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 6 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 5 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 4 // java.lang.String resource
        end local 3 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    8     1     refreshToken  Ljava/lang/String;
            0    8     2         clientId  Ljava/lang/String;
            0    8     3  clientAssertion  Lcom/microsoft/aad/adal4j/ClientAssertion;
            0    8     4         resource  Ljava/lang/String;
            0    8     5         callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            4    8     6       clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            7    8     7        authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
                 Name  Flags
      refreshToken     final
      clientId         final
      clientAssertion  final
      resource         final
      callback         final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, com.microsoft.aad.adal4j.ClientCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // com.microsoft.aad.adal4j.ClientCredential credential
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 730
            aload 0 /* this */
            aload 1 /* refreshToken */
            aload 2 /* credential */
         1: .line 731
            aconst_null
            aload 3 /* callback */
         2: .line 730
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByRefreshToken:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // com.microsoft.aad.adal4j.ClientCredential credential
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    3     1  refreshToken  Ljava/lang/String;
            0    3     2    credential  Lcom/microsoft/aad/adal4j/ClientCredential;
            0    3     3      callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
              Name  Flags
      refreshToken  final
      credential    final
      callback      final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, com.microsoft.aad.adal4j.ClientCredential, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // com.microsoft.aad.adal4j.ClientCredential credential
        start local 3 // java.lang.String resource
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 759
            new com.nimbusds.oauth2.sdk.auth.ClientSecretPost
            dup
         1: .line 760
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 2 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientId:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
            new com.nimbusds.oauth2.sdk.auth.Secret
            dup
         2: .line 761
            aload 2 /* credential */
            invokevirtual com.microsoft.aad.adal4j.ClientCredential.getClientSecret:()Ljava/lang/String;
            invokespecial com.nimbusds.oauth2.sdk.auth.Secret.<init>:(Ljava/lang/String;)V
         3: .line 759
            invokespecial com.nimbusds.oauth2.sdk.auth.ClientSecretPost.<init>:(Lcom/nimbusds/oauth2/sdk/id/ClientID;Lcom/nimbusds/oauth2/sdk/auth/Secret;)V
            astore 5 /* clientAuth */
        start local 5 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         4: .line 762
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         5: .line 763
            new com.nimbusds.oauth2.sdk.RefreshTokenGrant
            dup
            new com.nimbusds.oauth2.sdk.token.RefreshToken
            dup
            aload 1 /* refreshToken */
            invokespecial com.nimbusds.oauth2.sdk.token.RefreshToken.<init>:(Ljava/lang/String;)V
            invokespecial com.nimbusds.oauth2.sdk.RefreshTokenGrant.<init>:(Lcom/nimbusds/oauth2/sdk/token/RefreshToken;)V
            aload 3 /* resource */
         6: .line 762
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 6 /* authGrant */
        start local 6 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
         7: .line 764
            aload 0 /* this */
            aload 6 /* authGrant */
            aload 5 /* clientAuth */
            aload 4 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 6 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 5 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // java.lang.String resource
        end local 2 // com.microsoft.aad.adal4j.ClientCredential credential
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    8     1  refreshToken  Ljava/lang/String;
            0    8     2    credential  Lcom/microsoft/aad/adal4j/ClientCredential;
            0    8     3      resource  Ljava/lang/String;
            0    8     4      callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            4    8     5    clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            7    8     6     authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
              Name  Flags
      refreshToken  final
      credential    final
      resource      final
      callback      final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, com.microsoft.aad.adal4j.AsymmetricKeyCredential, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 789
            aload 0 /* this */
            aload 1 /* refreshToken */
            aload 2 /* credential */
         1: .line 790
            aconst_null
            aload 3 /* callback */
         2: .line 789
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByRefreshToken:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    3     1  refreshToken  Ljava/lang/String;
            0    3     2    credential  Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
            0    3     3      callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Exceptions:
      throws com.microsoft.aad.adal4j.AuthenticationException
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
              Name  Flags
      refreshToken  final
      credential    final
      callback      final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, com.microsoft.aad.adal4j.AsymmetricKeyCredential, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        start local 3 // java.lang.String resource
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 823
            aload 0 /* this */
         1: .line 824
            aload 1 /* refreshToken */
         2: .line 825
            aload 2 /* credential */
            invokevirtual com.microsoft.aad.adal4j.AsymmetricKeyCredential.getClientId:()Ljava/lang/String;
         3: .line 826
            aload 2 /* credential */
         4: .line 827
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
            invokevirtual com.microsoft.aad.adal4j.AuthenticationAuthority.getSelfSignedJwtAudience:()Ljava/lang/String;
         5: .line 826
            invokestatic com.microsoft.aad.adal4j.JwtHelper.buildJwt:(Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;)Lcom/microsoft/aad/adal4j/ClientAssertion;
         6: .line 828
            aload 3 /* resource */
            aload 4 /* callback */
         7: .line 823
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByRefreshToken:(Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientAssertion;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // java.lang.String resource
        end local 2 // com.microsoft.aad.adal4j.AsymmetricKeyCredential credential
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    8     1  refreshToken  Ljava/lang/String;
            0    8     2    credential  Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
            0    8     3      resource  Ljava/lang/String;
            0    8     4      callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Exceptions:
      throws com.microsoft.aad.adal4j.AuthenticationException
    Signature: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
              Name  Flags
      refreshToken  final
      credential    final
      resource      final
      callback      final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // java.lang.String clientId
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 852
            aload 0 /* this */
            aload 1 /* refreshToken */
            aload 2 /* clientId */
            aconst_null
            aload 3 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenByRefreshToken:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    1     1  refreshToken  Ljava/lang/String;
            0    1     2      clientId  Ljava/lang/String;
            0    1     3      callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
              Name  Flags
      refreshToken  final
      clientId      final
      callback      final

  private java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireToken(com.microsoft.aad.adal4j.AdalAuthorizationGrant, com.nimbusds.oauth2.sdk.auth.ClientAuthentication, com.microsoft.aad.adal4j.AuthenticationCallback<com.microsoft.aad.adal4j.AuthenticationResult>);
    descriptor: (Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // com.microsoft.aad.adal4j.AdalAuthorizationGrant authGrant
        start local 2 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        start local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 860
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.service:Ljava/util/concurrent/ExecutorService;
         1: .line 861
            new com.microsoft.aad.adal4j.AcquireTokenCallable
            dup
            aload 0 /* this */
            aload 1 /* authGrant */
            aload 2 /* clientAuth */
            aload 3 /* callback */
            invokespecial com.microsoft.aad.adal4j.AcquireTokenCallable.<init>:(Lcom/microsoft/aad/adal4j/AuthenticationContext;Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)V
         2: .line 860
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            areturn
        end local 3 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 2 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 1 // com.microsoft.aad.adal4j.AdalAuthorizationGrant authGrant
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    3     1   authGrant  Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;
            0    3     2  clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            0    3     3    callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    Signature: (Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
            Name  Flags
      authGrant   final
      clientAuth  final
      callback    final

  public java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireTokenByRefreshToken(java.lang.String, java.lang.String, java.lang.String, com.microsoft.aad.adal4j.AuthenticationCallback);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // java.lang.String clientId
        start local 3 // java.lang.String resource
        start local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
         0: .line 892
            new com.microsoft.aad.adal4j.ClientAuthenticationPost
            dup
         1: .line 893
            getstatic com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod.NONE:Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;
            new com.nimbusds.oauth2.sdk.id.ClientID
            dup
            aload 2 /* clientId */
            invokespecial com.nimbusds.oauth2.sdk.id.ClientID.<init>:(Ljava/lang/String;)V
         2: .line 892
            invokespecial com.microsoft.aad.adal4j.ClientAuthenticationPost.<init>:(Lcom/nimbusds/oauth2/sdk/auth/ClientAuthenticationMethod;Lcom/nimbusds/oauth2/sdk/id/ClientID;)V
            astore 5 /* clientAuth */
        start local 5 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
         3: .line 894
            new com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant
            dup
         4: .line 895
            new com.nimbusds.oauth2.sdk.RefreshTokenGrant
            dup
            new com.nimbusds.oauth2.sdk.token.RefreshToken
            dup
            aload 1 /* refreshToken */
            invokespecial com.nimbusds.oauth2.sdk.token.RefreshToken.<init>:(Ljava/lang/String;)V
            invokespecial com.nimbusds.oauth2.sdk.RefreshTokenGrant.<init>:(Lcom/nimbusds/oauth2/sdk/token/RefreshToken;)V
            aload 3 /* resource */
         5: .line 894
            invokespecial com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant.<init>:(Lcom/nimbusds/oauth2/sdk/AuthorizationGrant;Ljava/lang/String;)V
            astore 6 /* authGrant */
        start local 6 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
         6: .line 896
            aload 0 /* this */
            aload 6 /* authGrant */
            aload 5 /* clientAuth */
            aload 4 /* callback */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
            areturn
        end local 6 // com.microsoft.aad.adal4j.AdalOAuthAuthorizationGrant authGrant
        end local 5 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 4 // com.microsoft.aad.adal4j.AuthenticationCallback callback
        end local 3 // java.lang.String resource
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    7     1  refreshToken  Ljava/lang/String;
            0    7     2      clientId  Ljava/lang/String;
            0    7     3      resource  Ljava/lang/String;
            0    7     4      callback  Lcom/microsoft/aad/adal4j/AuthenticationCallback;
            3    7     5    clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            6    7     6     authGrant  Lcom/microsoft/aad/adal4j/AdalOAuthAuthorizationGrant;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
    MethodParameters:
              Name  Flags
      refreshToken  final
      clientId      final
      resource      final
      callback      final

  private void validateRefreshTokenRequestInput(java.lang.String, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String refreshToken
        start local 2 // java.lang.String clientId
        start local 3 // java.lang.Object credential
         0: .line 902
            aload 1 /* refreshToken */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 903
            new java.lang.IllegalArgumentException
            dup
            ldc "refreshToken is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 906
      StackMap locals:
      StackMap stack:
            aload 2 /* clientId */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 907
            new java.lang.IllegalArgumentException
            dup
            ldc "clientId is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 3 /* credential */
            iconst_0
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateInput:(Ljava/lang/String;Ljava/lang/Object;Z)V
         5: .line 910
            return
        end local 3 // java.lang.Object credential
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String refreshToken
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    6     1  refreshToken  Ljava/lang/String;
            0    6     2      clientId  Ljava/lang/String;
            0    6     3    credential  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      refreshToken  final
      clientId      final
      credential    final

  com.microsoft.aad.adal4j.AuthenticationResult acquireTokenCommon(com.microsoft.aad.adal4j.AdalAuthorizationGrant, com.nimbusds.oauth2.sdk.auth.ClientAuthentication, com.microsoft.aad.adal4j.ClientDataHttpHeaders);
    descriptor: (Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/ClientDataHttpHeaders;)Lcom/microsoft/aad/adal4j/AuthenticationResult;
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // com.microsoft.aad.adal4j.AdalAuthorizationGrant authGrant
        start local 2 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        start local 3 // com.microsoft.aad.adal4j.ClientDataHttpHeaders headers
         0: .line 916
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.logPii:Z
            ifeq 5
         1: .line 917
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.log:Lorg/slf4j/Logger;
         2: .line 918
            ldc "Using Client Http Headers: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* headers */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 919
            aload 3 /* headers */
            invokevirtual com.microsoft.aad.adal4j.ClientDataHttpHeaders.getHeaderCorrelationIdValue:()Ljava/lang/String;
         4: .line 917
            invokestatic com.microsoft.aad.adal4j.LogHelper.createMessage:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         5: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
         6: .line 923
            aload 3 /* headers */
            invokevirtual com.microsoft.aad.adal4j.ClientDataHttpHeaders.getReadonlyHeaderMap:()Ljava/util/Map;
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.proxy:Ljava/net/Proxy;
         7: .line 924
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
         8: .line 922
            invokevirtual com.microsoft.aad.adal4j.AuthenticationAuthority.doInstanceDiscovery:(Ljava/util/Map;Ljava/net/Proxy;Ljavax/net/ssl/SSLSocketFactory;)V
         9: .line 925
            new java.net.URL
            dup
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
            invokevirtual com.microsoft.aad.adal4j.AuthenticationAuthority.getTokenUri:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 4 /* url */
        start local 4 // java.net.URL url
        10: .line 926
            new com.microsoft.aad.adal4j.AdalTokenRequest
            dup
            aload 4 /* url */
            aload 2 /* clientAuth */
        11: .line 927
            aload 1 /* authGrant */
            aload 3 /* headers */
            invokevirtual com.microsoft.aad.adal4j.ClientDataHttpHeaders.getReadonlyHeaderMap:()Ljava/util/Map;
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.proxy:Ljava/net/Proxy;
        12: .line 928
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
        13: .line 926
            invokespecial com.microsoft.aad.adal4j.AdalTokenRequest.<init>:(Ljava/net/URL;Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;Ljava/util/Map;Ljava/net/Proxy;Ljavax/net/ssl/SSLSocketFactory;)V
            astore 5 /* request */
        start local 5 // com.microsoft.aad.adal4j.AdalTokenRequest request
        14: .line 929
            aload 5 /* request */
        15: .line 930
            invokevirtual com.microsoft.aad.adal4j.AdalTokenRequest.executeOAuthRequestAndProcessResponse:()Lcom/microsoft/aad/adal4j/AuthenticationResult;
        16: .line 929
            astore 6 /* result */
        start local 6 // com.microsoft.aad.adal4j.AuthenticationResult result
        17: .line 931
            aload 6 /* result */
            areturn
        end local 6 // com.microsoft.aad.adal4j.AuthenticationResult result
        end local 5 // com.microsoft.aad.adal4j.AdalTokenRequest request
        end local 4 // java.net.URL url
        end local 3 // com.microsoft.aad.adal4j.ClientDataHttpHeaders headers
        end local 2 // com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuth
        end local 1 // com.microsoft.aad.adal4j.AdalAuthorizationGrant authGrant
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0   18     1   authGrant  Lcom/microsoft/aad/adal4j/AdalAuthorizationGrant;
            0   18     2  clientAuth  Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
            0   18     3     headers  Lcom/microsoft/aad/adal4j/ClientDataHttpHeaders;
           10   18     4         url  Ljava/net/URL;
           14   18     5     request  Lcom/microsoft/aad/adal4j/AdalTokenRequest;
           17   18     6      result  Lcom/microsoft/aad/adal4j/AuthenticationResult;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      authGrant   final
      clientAuth  final
      headers     final

  private com.nimbusds.oauth2.sdk.auth.ClientAuthentication createClientAuthFromClientAssertion(com.microsoft.aad.adal4j.ClientAssertion);
    descriptor: (Lcom/microsoft/aad/adal4j/ClientAssertion;)Lcom/nimbusds/oauth2/sdk/auth/ClientAuthentication;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
         0: .line 938
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 939
            aload 2 /* map */
            ldc "client_assertion_type"
            aload 1 /* clientAssertion */
            invokevirtual com.microsoft.aad.adal4j.ClientAssertion.getAssertionType:()Ljava/lang/String;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 940
            aload 2 /* map */
            ldc "client_assertion"
            aload 1 /* clientAssertion */
            invokevirtual com.microsoft.aad.adal4j.ClientAssertion.getAssertion:()Ljava/lang/String;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 941
            aload 2 /* map */
            invokestatic com.nimbusds.oauth2.sdk.auth.PrivateKeyJWT.parse:(Ljava/util/Map;)Lcom/nimbusds/oauth2/sdk/auth/PrivateKeyJWT;
         4: areturn
        end local 2 // java.util.Map map
         5: .line 943
      StackMap locals:
      StackMap stack: com.nimbusds.oauth2.sdk.ParseException
            astore 2 /* e */
        start local 2 // com.nimbusds.oauth2.sdk.ParseException e
         6: .line 944
            new com.microsoft.aad.adal4j.AuthenticationException
            dup
            aload 2 /* e */
            invokespecial com.microsoft.aad.adal4j.AuthenticationException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // com.nimbusds.oauth2.sdk.ParseException e
        end local 1 // com.microsoft.aad.adal4j.ClientAssertion clientAssertion
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    7     1  clientAssertion  Lcom/microsoft/aad/adal4j/ClientAssertion;
            1    5     2              map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6    7     2                e  Lcom/nimbusds/oauth2/sdk/ParseException;
      Exception table:
        from    to  target  type
           0     4       5  Class com.nimbusds.oauth2.sdk.ParseException
    MethodParameters:
                 Name  Flags
      clientAssertion  final

  public java.lang.String getCorrelationId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
         0: .line 956
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.correlationId:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/aad/adal4j/AuthenticationContext;

  public void setCorrelationId(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String correlationId
         0: .line 967
            aload 0 /* this */
            aload 1 /* correlationId */
            putfield com.microsoft.aad.adal4j.AuthenticationContext.correlationId:Ljava/lang/String;
         1: .line 968
            return
        end local 1 // java.lang.String correlationId
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    2     1  correlationId  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      correlationId  final

  public boolean shouldValidateAuthority();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
         0: .line 977
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.validateAuthority:Z
            ireturn
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/aad/adal4j/AuthenticationContext;

  public java.lang.String getAuthority();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
         0: .line 986
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authority:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/aad/adal4j/AuthenticationContext;

  private void validateInput(java.lang.String, java.lang.Object, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // java.lang.Object credential
        start local 3 // boolean validateResource
         0: .line 991
            iload 3 /* validateResource */
            ifeq 2
            aload 1 /* resource */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 992
            new java.lang.IllegalArgumentException
            dup
            ldc "resource is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 994
      StackMap locals:
      StackMap stack:
            aload 2 /* credential */
            ifnonnull 4
         3: .line 995
            new java.lang.IllegalArgumentException
            dup
            ldc "credential is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 997
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean validateResource
        end local 2 // java.lang.Object credential
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    5     1          resource  Ljava/lang/String;
            0    5     2        credential  Ljava/lang/Object;
            0    5     3  validateResource  Z
    MethodParameters:
                  Name  Flags
      resource          final
      credential        final
      validateResource  final

  private void validateAuthCodeRequestInput(java.lang.String, java.net.URI, java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/net/URI;Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String authorizationCode
        start local 2 // java.net.URI redirectUri
        start local 3 // java.lang.Object clientCredential
        start local 4 // java.lang.String resource
         0: .line 1002
            aload 1 /* authorizationCode */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 1003
            new java.lang.IllegalArgumentException
            dup
         2: .line 1004
            ldc "authorization code is null or empty"
         3: .line 1003
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1006
      StackMap locals:
      StackMap stack:
            aload 2 /* redirectUri */
            ifnonnull 6
         5: .line 1007
            new java.lang.IllegalArgumentException
            dup
            ldc "redirect uri is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resource */
            aload 3 /* clientCredential */
            iconst_0
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateInput:(Ljava/lang/String;Ljava/lang/Object;Z)V
         7: .line 1010
            return
        end local 4 // java.lang.String resource
        end local 3 // java.lang.Object clientCredential
        end local 2 // java.net.URI redirectUri
        end local 1 // java.lang.String authorizationCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    8     1  authorizationCode  Ljava/lang/String;
            0    8     2        redirectUri  Ljava/net/URI;
            0    8     3   clientCredential  Ljava/lang/Object;
            0    8     4           resource  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      authorizationCode  final
      redirectUri        final
      clientCredential   final
      resource           final

  private void validateDeviceCodeRequestInput(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String clientId
        start local 2 // java.lang.String resource
         0: .line 1013
            aload 1 /* clientId */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1014
            new java.lang.IllegalArgumentException
            dup
            ldc "clientId is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1017
      StackMap locals:
      StackMap stack:
            aload 2 /* resource */
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1018
            new java.lang.IllegalArgumentException
            dup
            ldc "resource is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1021
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.aad.adal4j.AuthorityType.ADFS:Lcom/microsoft/aad/adal4j/AuthorityType;
            aload 0 /* this */
            getfield com.microsoft.aad.adal4j.AuthenticationContext.authenticationAuthority:Lcom/microsoft/aad/adal4j/AuthenticationAuthority;
            invokevirtual com.microsoft.aad.adal4j.AuthenticationAuthority.getAuthorityType:()Lcom/microsoft/aad/adal4j/AuthorityType;
            invokevirtual com.microsoft.aad.adal4j.AuthorityType.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 1022
            new java.lang.IllegalArgumentException
            dup
         6: .line 1023
            ldc "Invalid authority type. Device Flow is not supported by ADFS authority"
         7: .line 1022
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1025
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String resource
        end local 1 // java.lang.String clientId
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    9     1  clientId  Ljava/lang/String;
            0    9     2  resource  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      clientId  
      resource  

  private void validateDeviceCodeRequestInput(com.microsoft.aad.adal4j.DeviceCode, java.lang.Object, java.lang.String);
    descriptor: (Lcom/microsoft/aad/adal4j/DeviceCode;Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // com.microsoft.aad.adal4j.DeviceCode deviceCode
        start local 2 // java.lang.Object credential
        start local 3 // java.lang.String resource
         0: .line 1030
            aload 1 /* deviceCode */
            invokevirtual com.microsoft.aad.adal4j.DeviceCode.getDeviceCode:()Ljava/lang/String;
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1031
            new java.lang.IllegalArgumentException
            dup
            ldc "device code is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1033
      StackMap locals:
      StackMap stack:
            aload 1 /* deviceCode */
            invokevirtual com.microsoft.aad.adal4j.DeviceCode.getCorrelationId:()Ljava/lang/String;
            invokestatic com.microsoft.aad.adal4j.StringHelper.isBlank:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1034
            new java.lang.IllegalArgumentException
            dup
            ldc "correlation id in device code is null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1036
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resource */
            aload 2 /* credential */
            iconst_1
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateInput:(Ljava/lang/String;Ljava/lang/Object;Z)V
         5: .line 1037
            return
        end local 3 // java.lang.String resource
        end local 2 // java.lang.Object credential
        end local 1 // com.microsoft.aad.adal4j.DeviceCode deviceCode
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    6     1  deviceCode  Lcom/microsoft/aad/adal4j/DeviceCode;
            0    6     2  credential  Ljava/lang/Object;
            0    6     3    resource  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      deviceCode  final
      credential  final
      resource    final

  private void validateOnBehalfOfRequestInput(java.lang.String, com.microsoft.aad.adal4j.UserAssertion, java.lang.Object, boolean);
    descriptor: (Ljava/lang/String;Lcom/microsoft/aad/adal4j/UserAssertion;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
        start local 1 // java.lang.String resource
        start local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        start local 3 // java.lang.Object clientCredential
        start local 4 // boolean validateResource
         0: .line 1041
            aload 2 /* userAssertion */
            ifnonnull 2
         1: .line 1042
            new java.lang.IllegalArgumentException
            dup
            ldc "userAssertion is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resource */
            aload 3 /* clientCredential */
            iload 4 /* validateResource */
            invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.validateInput:(Ljava/lang/String;Ljava/lang/Object;Z)V
         3: .line 1045
            return
        end local 4 // boolean validateResource
        end local 3 // java.lang.Object clientCredential
        end local 2 // com.microsoft.aad.adal4j.UserAssertion userAssertion
        end local 1 // java.lang.String resource
        end local 0 // com.microsoft.aad.adal4j.AuthenticationContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lcom/microsoft/aad/adal4j/AuthenticationContext;
            0    4     1          resource  Ljava/lang/String;
            0    4     2     userAssertion  Lcom/microsoft/aad/adal4j/UserAssertion;
            0    4     3  clientCredential  Ljava/lang/Object;
            0    4     4  validateResource  Z
    MethodParameters:
                  Name  Flags
      resource          final
      userAssertion     final
      clientCredential  final
      validateResource  final
}
SourceFile: "AuthenticationContext.java"