public class javax.security.auth.login.LoginContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.security.auth.login.LoginContext
  super_class: java.lang.Object
{
  private static final java.lang.String LOGIN_METHOD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "login"

  private static final java.lang.String COMMIT_METHOD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "commit"

  private static final java.lang.String ABORT_METHOD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "abort"

  private static final java.lang.String LOGOUT_METHOD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "logout"

  private static final java.lang.String OTHER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "other"

  private static final java.lang.String DEFAULT_HANDLER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "auth.login.defaultCallbackHandler"

  private javax.security.auth.Subject subject;
    descriptor: Ljavax/security/auth/Subject;
    flags: (0x0002) ACC_PRIVATE

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

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

  private javax.security.auth.callback.CallbackHandler callbackHandler;
    descriptor: Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, ?> state;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;*>;

  private javax.security.auth.login.Configuration config;
    descriptor: Ljavax/security/auth/login/Configuration;
    flags: (0x0002) ACC_PRIVATE

  private java.security.AccessControlContext creatorAcc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0002) ACC_PRIVATE

  private javax.security.auth.login.LoginContext$ModuleInfo[] moduleStack;
    descriptor: [Ljavax/security/auth/login/LoginContext$ModuleInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ClassLoader contextClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private int moduleIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private javax.security.auth.login.LoginException firstError;
    descriptor: Ljavax/security/auth/login/LoginException;
    flags: (0x0002) ACC_PRIVATE

  private javax.security.auth.login.LoginException firstRequiredError;
    descriptor: Ljavax/security/auth/login/LoginException;
    flags: (0x0002) ACC_PRIVATE

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

  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 223
            ldc "logincontext"
            ldc "\t[LoginContext]"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
         1: .line 222
            putstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
         2: .line 223
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void init(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=6, args_size=2
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String name
         0: .line 227
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 228
            aload 2 /* sm */
            ifnull 5
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 5
         2: .line 229
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
         3: .line 230
            new java.lang.StringBuilder
            dup
            ldc "createLoginContext."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
         4: .line 229
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 233
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 1 /* name */
            ifnonnull 9
         6: .line 234
            new javax.security.auth.login.LoginException
            dup
         7: .line 235
            ldc "Invalid.null.input.name"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 234
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
            ifnonnull 13
        10: .line 239
            aload 0 /* this */
        11: .line 240
            new javax.security.auth.login.LoginContext$1
            dup
            aload 0 /* this */
            invokespecial javax.security.auth.login.LoginContext$1.<init>:(Ljavax/security/auth/login/LoginContext;)V
        12: .line 239
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast javax.security.auth.login.Configuration
            putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
        13: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
            aload 1 /* name */
            invokevirtual javax.security.auth.login.Configuration.getAppConfigurationEntry:(Ljava/lang/String;)[Ljavax/security/auth/login/AppConfigurationEntry;
            astore 3 /* entries */
        start local 3 // javax.security.auth.login.AppConfigurationEntry[] entries
        14: .line 249
            aload 3 /* entries */
            ifnonnull 26
        15: .line 251
            aload 2 /* sm */
            ifnull 19
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 19
        16: .line 252
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
        17: .line 253
            ldc "createLoginContext.other"
            invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
        18: .line 252
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        19: .line 256
      StackMap locals: javax.security.auth.login.AppConfigurationEntry[]
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
            ldc "other"
            invokevirtual javax.security.auth.login.Configuration.getAppConfigurationEntry:(Ljava/lang/String;)[Ljavax/security/auth/login/AppConfigurationEntry;
            astore 3 /* entries */
        20: .line 257
            aload 3 /* entries */
            ifnonnull 26
        21: .line 258
            new java.text.MessageFormat
            dup
        22: .line 259
            ldc "No.LoginModules.configured.for.name"
        23: .line 258
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        24: .line 260
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        25: .line 261
            new javax.security.auth.login.LoginException
            dup
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        26: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* entries */
            arraylength
            anewarray javax.security.auth.login.LoginContext$ModuleInfo
            putfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
        27: .line 265
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        28: goto 38
        29: .line 267
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 4 /* i */
            new javax.security.auth.login.LoginContext$ModuleInfo
            dup
        30: .line 268
            new javax.security.auth.login.AppConfigurationEntry
            dup
        31: .line 269
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
        32: .line 270
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        33: .line 271
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
        34: .line 268
            invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
        35: .line 272
            aconst_null
            invokespecial javax.security.auth.login.LoginContext$ModuleInfo.<init>:(Ljavax/security/auth/login/AppConfigurationEntry;Ljavax/security/auth/spi/LoginModule;)V
        36: .line 267
            aastore
        37: .line 265
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 4 /* i */
            aload 3 /* entries */
            arraylength
            if_icmplt 29
        end local 4 // int i
        39: .line 275
            aload 0 /* this */
        40: .line 276
            new javax.security.auth.login.LoginContext$2
            dup
            aload 0 /* this */
            invokespecial javax.security.auth.login.LoginContext$2.<init>:(Ljavax/security/auth/login/LoginContext;)V
        41: .line 275
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
        42: .line 289
            return
        end local 3 // javax.security.auth.login.AppConfigurationEntry[] entries
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.String name
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Ljavax/security/auth/login/LoginContext;
            0   43     1     name  Ljava/lang/String;
            1   43     2       sm  Ljava/lang/SecurityManager;
           14   43     3  entries  [Ljavax/security/auth/login/AppConfigurationEntry;
           24   26     4     form  Ljava/text/MessageFormat;
           25   26     5   source  [Ljava/lang/Object;
           28   39     4        i  I
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
      Name  Flags
      name  

  private void loadDefaultCallbackHandler();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javax.security.auth.login.LoginContext this
         0: .line 296
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
            astore 1 /* finalLoader */
        start local 1 // java.lang.ClassLoader finalLoader
         1: .line 298
            aload 0 /* this */
         2: .line 299
            new javax.security.auth.login.LoginContext$3
            dup
            aload 0 /* this */
            aload 1 /* finalLoader */
            invokespecial javax.security.auth.login.LoginContext$3.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/ClassLoader;)V
         3: .line 298
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.security.auth.callback.CallbackHandler
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        end local 1 // java.lang.ClassLoader finalLoader
         4: .line 313
            goto 7
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         5: astore 1 /* pae */
        start local 1 // java.security.PrivilegedActionException pae
         6: .line 314
            new javax.security.auth.login.LoginException
            dup
            aload 1 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.security.PrivilegedActionException pae
         7: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
            ifnull 12
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 12
         8: .line 319
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
         9: .line 320
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        10: .line 321
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        11: .line 319
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        12: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Ljavax/security/auth/login/LoginContext;
            1    4     1  finalLoader  Ljava/lang/ClassLoader;
            6    7     1          pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.security.PrivilegedActionException
    Exceptions:
      throws javax.security.auth.login.LoginException

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String name
         0: .line 346
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 203
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 204
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 205
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 207
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
         5: .line 210
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 218
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 219
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 347
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 348
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        13: .line 349
            return
        end local 1 // java.lang.String name
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljavax/security/auth/login/LoginContext;
            0   14     1  name  Ljava/lang/String;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
      Name  Flags
      name  

  public void <init>(java.lang.String, javax.security.auth.Subject);
    descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String name
        start local 2 // javax.security.auth.Subject subject
         0: .line 376
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 203
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 204
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 205
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 207
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
         5: .line 210
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 218
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 219
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 378
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 379
            aload 2 /* subject */
            ifnonnull 16
        13: .line 380
            new javax.security.auth.login.LoginException
            dup
        14: .line 381
            ldc "invalid.null.Subject.provided"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 380
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 382
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject
      StackMap stack:
            aload 0 /* this */
            aload 2 /* subject */
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
        17: .line 383
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 384
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        19: .line 385
            return
        end local 2 // javax.security.auth.Subject subject
        end local 1 // java.lang.String name
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Ljavax/security/auth/login/LoginContext;
            0   20     1     name  Ljava/lang/String;
            0   20     2  subject  Ljavax/security/auth/Subject;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
         Name  Flags
      name     
      subject  

  public void <init>(java.lang.String, javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String name
        start local 2 // javax.security.auth.callback.CallbackHandler callbackHandler
         0: .line 410
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 203
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 204
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 205
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 207
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
         5: .line 210
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 218
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 219
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 412
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 413
            aload 2 /* callbackHandler */
            ifnonnull 16
        13: .line 414
            new javax.security.auth.login.LoginException
            dup
        14: .line 415
            ldc "invalid.null.CallbackHandler.provided"
        15: .line 414
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 416
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.callback.CallbackHandler
      StackMap stack:
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
        17: .line 417
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        18: .line 418
            aload 2 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        19: .line 416
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        20: .line 419
            return
        end local 2 // javax.security.auth.callback.CallbackHandler callbackHandler
        end local 1 // java.lang.String name
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Ljavax/security/auth/login/LoginContext;
            0   21     1             name  Ljava/lang/String;
            0   21     2  callbackHandler  Ljavax/security/auth/callback/CallbackHandler;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
                 Name  Flags
      name             
      callbackHandler  

  public void <init>(java.lang.String, javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String name
        start local 2 // javax.security.auth.Subject subject
        start local 3 // javax.security.auth.callback.CallbackHandler callbackHandler
         0: .line 451
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* subject */
            invokespecial javax.security.auth.login.LoginContext.<init>:(Ljava/lang/String;Ljavax/security/auth/Subject;)V
         1: .line 452
            aload 3 /* callbackHandler */
            ifnonnull 5
         2: .line 453
            new javax.security.auth.login.LoginException
            dup
         3: .line 454
            ldc "invalid.null.CallbackHandler.provided"
         4: .line 453
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 455
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject javax.security.auth.callback.CallbackHandler
      StackMap stack:
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
         6: .line 456
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
         7: .line 457
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
         8: .line 455
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
         9: .line 458
            return
        end local 3 // javax.security.auth.callback.CallbackHandler callbackHandler
        end local 2 // javax.security.auth.Subject subject
        end local 1 // java.lang.String name
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Ljavax/security/auth/login/LoginContext;
            0   10     1             name  Ljava/lang/String;
            0   10     2          subject  Ljavax/security/auth/Subject;
            0   10     3  callbackHandler  Ljavax/security/auth/callback/CallbackHandler;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
                 Name  Flags
      name             
      subject          
      callbackHandler  

  public void <init>(java.lang.String, javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, javax.security.auth.login.Configuration);
    descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljavax/security/auth/login/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String name
        start local 2 // javax.security.auth.Subject subject
        start local 3 // javax.security.auth.callback.CallbackHandler callbackHandler
        start local 4 // javax.security.auth.login.Configuration config
         0: .line 493
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 203
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 204
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 205
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 207
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
         5: .line 210
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 218
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 219
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 496
            aload 0 /* this */
            aload 4 /* config */
            putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
        12: .line 497
            aload 4 /* config */
            ifnull 14
        13: .line 498
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
        14: .line 501
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject javax.security.auth.callback.CallbackHandler javax.security.auth.login.Configuration
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        15: .line 502
            aload 2 /* subject */
            ifnull 18
        16: .line 503
            aload 0 /* this */
            aload 2 /* subject */
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
        17: .line 504
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 506
      StackMap locals:
      StackMap stack:
            aload 3 /* callbackHandler */
            ifnonnull 21
        19: .line 507
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        20: .line 508
            goto 28
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 27
        22: .line 509
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
        23: .line 510
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        24: .line 511
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        25: .line 509
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        26: .line 512
            goto 28
        27: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* callbackHandler */
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        28: .line 515
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.security.auth.login.Configuration config
        end local 3 // javax.security.auth.callback.CallbackHandler callbackHandler
        end local 2 // javax.security.auth.Subject subject
        end local 1 // java.lang.String name
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   29     0             this  Ljavax/security/auth/login/LoginContext;
            0   29     1             name  Ljava/lang/String;
            0   29     2          subject  Ljavax/security/auth/Subject;
            0   29     3  callbackHandler  Ljavax/security/auth/callback/CallbackHandler;
            0   29     4           config  Ljavax/security/auth/login/Configuration;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
                 Name  Flags
      name             
      subject          
      callbackHandler  
      config           

  public void login();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.security.auth.login.LoginContext this
         0: .line 566
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         1: .line 568
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 3
         2: .line 569
            aload 0 /* this */
            new javax.security.auth.Subject
            dup
            invokespecial javax.security.auth.Subject.<init>:()V
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         3: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "login"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         4: .line 575
            aload 0 /* this */
            ldc "commit"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 576
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         6: .line 577
            goto 13
      StackMap locals:
      StackMap stack: javax.security.auth.login.LoginException
         7: astore 1 /* le */
        start local 1 // javax.security.auth.login.LoginException le
         8: .line 579
            aload 0 /* this */
            ldc "abort"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         9: .line 580
            goto 12
      StackMap locals: javax.security.auth.login.LoginContext javax.security.auth.login.LoginException
      StackMap stack: javax.security.auth.login.LoginException
        10: pop
        11: .line 581
            aload 1 /* le */
            athrow
        12: .line 583
      StackMap locals:
      StackMap stack:
            aload 1 /* le */
            athrow
        end local 1 // javax.security.auth.login.LoginException le
        13: .line 585
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljavax/security/auth/login/LoginContext;
            8   13     1    le  Ljavax/security/auth/login/LoginException;
      Exception table:
        from    to  target  type
           3     6       7  Class javax.security.auth.login.LoginException
           8     9      10  Class javax.security.auth.login.LoginException
    Exceptions:
      throws javax.security.auth.login.LoginException

  public void logout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.security.auth.login.LoginContext this
         0: .line 607
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 4
         1: .line 608
            new javax.security.auth.login.LoginException
            dup
         2: .line 609
            ldc "null.subject.logout.called.before.login"
         3: .line 608
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "logout"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 614
            return
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/security/auth/login/LoginContext;
    Exceptions:
      throws javax.security.auth.login.LoginException

  public javax.security.auth.Subject getSubject();
    descriptor: ()Ljavax/security/auth/Subject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.security.auth.login.LoginContext this
         0: .line 629
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.loginSucceeded:Z
            ifne 2
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subjectProvided:Z
            ifne 2
         1: .line 630
            aconst_null
            areturn
         2: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            areturn
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/security/auth/login/LoginContext;

  private void clearState();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.security.auth.login.LoginContext this
         0: .line 635
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         1: .line 636
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         2: .line 637
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
         3: .line 638
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
         4: .line 639
            return
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/security/auth/login/LoginContext;

  private void throwException(javax.security.auth.login.LoginException, javax.security.auth.login.LoginException);
    descriptor: (Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // javax.security.auth.login.LoginException originalError
        start local 2 // javax.security.auth.login.LoginException le
         0: .line 645
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
         1: .line 648
            aload 1 /* originalError */
            ifnull 2
            aload 1 /* originalError */
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 2 /* le */
      StackMap locals:
      StackMap stack: javax.security.auth.login.LoginException
         3: astore 3 /* error */
        start local 3 // javax.security.auth.login.LoginException error
         4: .line 649
            aload 3 /* error */
            athrow
        end local 3 // javax.security.auth.login.LoginException error
        end local 2 // javax.security.auth.login.LoginException le
        end local 1 // javax.security.auth.login.LoginException originalError
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljavax/security/auth/login/LoginContext;
            0    5     1  originalError  Ljavax/security/auth/login/LoginException;
            0    5     2             le  Ljavax/security/auth/login/LoginException;
            4    5     3          error  Ljavax/security/auth/login/LoginException;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
               Name  Flags
      originalError  
      le             

  private void invokePriv(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String methodName
         0: .line 663
            new javax.security.auth.login.LoginContext$4
            dup
            aload 0 /* this */
            aload 1 /* methodName */
            invokespecial javax.security.auth.login.LoginContext$4.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/String;)V
         1: .line 668
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         2: .line 662
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         3: .line 669
            goto 6
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 2 /* pae */
        start local 2 // java.security.PrivilegedActionException pae
         5: .line 670
            aload 2 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast javax.security.auth.login.LoginException
            athrow
        end local 2 // java.security.PrivilegedActionException pae
         6: .line 672
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String methodName
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljavax/security/auth/login/LoginContext;
            0    7     1  methodName  Ljava/lang/String;
            5    6     2         pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.security.PrivilegedActionException
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
            Name  Flags
      methodName  final

  private void invoke(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String methodName
         0: .line 679
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleIndex:I
            istore 2 /* i */
        start local 2 // int i
         1: goto 109
         2: .line 682
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
            ifnonnull 29
         3: .line 686
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 689
            aload 0 /* this */
            invokedynamic run(Ljavax/security/auth/login/LoginContext;)Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  javax/security/auth/login/LoginContext.lambda$0()Ljava/util/ServiceLoader; (7)
                  ()Ljava/util/ServiceLoader;
         5: .line 687
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.ServiceLoader
            astore 4 /* sc */
        start local 4 // java.util.ServiceLoader sc
         6: .line 691
            aload 4 /* sc */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int java.lang.String java.util.ServiceLoader top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.security.auth.spi.LoginModule
            astore 5 /* m */
        start local 5 // javax.security.auth.spi.LoginModule m
         8: .line 692
            aload 5 /* m */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 3 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         9: .line 693
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            aload 5 /* m */
            putfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
        10: .line 694
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 14
        11: .line 695
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 3 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " loaded as a service"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 697
            goto 14
        end local 5 // javax.security.auth.spi.LoginModule m
        13: .line 691
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        14: .line 701
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int java.lang.String java.util.ServiceLoader
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
            ifnonnull 24
        15: .line 704
            aload 3 /* name */
            iconst_0
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 5 /* tmp */
        start local 5 // java.lang.Object tmp
        16: .line 705
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            aload 5 /* tmp */
            checkcast javax.security.auth.spi.LoginModule
            putfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
        17: .line 706
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 24
        18: .line 707
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 3 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " loaded via reflection"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // java.lang.Object tmp
        19: .line 709
            goto 24
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        20: pop
        21: .line 710
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No LoginModule found for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 711
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 710
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
        25: .line 717
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        26: .line 718
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
        27: .line 719
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
        28: .line 716
            invokeinterface javax.security.auth.spi.LoginModule.initialize:(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map;Ljava/util/Map;)V
        end local 4 // java.util.ServiceLoader sc
        end local 3 // java.lang.String name
        29: .line 724
      StackMap locals:
      StackMap stack:
            aload 1 /* methodName */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
          -1354815177: 30
          -1097329270: 31
             92611376: 32
            103149417: 33
              default: 42
          }
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int top java.lang.String
      StackMap stack:
        30: aload 4
            ldc "commit"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 36
            goto 42
      StackMap locals:
      StackMap stack:
        31: aload 4
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 38
            goto 42
      StackMap locals:
      StackMap stack:
        32: aload 4
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 40
            goto 42
      StackMap locals:
      StackMap stack:
        33: aload 4
            ldc "login"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
            goto 42
        34: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
            invokeinterface javax.security.auth.spi.LoginModule.login:()Z
            istore 3 /* status */
        start local 3 // boolean status
        35: .line 727
            goto 43
        end local 3 // boolean status
        36: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
            invokeinterface javax.security.auth.spi.LoginModule.commit:()Z
            istore 3 /* status */
        start local 3 // boolean status
        37: .line 730
            goto 43
        end local 3 // boolean status
        38: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
            invokeinterface javax.security.auth.spi.LoginModule.logout:()Z
            istore 3 /* status */
        start local 3 // boolean status
        39: .line 733
            goto 43
        end local 3 // boolean status
        40: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
            invokeinterface javax.security.auth.spi.LoginModule.abort:()Z
            istore 3 /* status */
        start local 3 // boolean status
        41: .line 736
            goto 43
        end local 3 // boolean status
        42: .line 738
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        start local 3 // boolean status
        43: .line 741
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int int
      StackMap stack:
            iload 3 /* status */
            ifeq 58
        44: .line 744
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 54
        45: .line 745
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 54
        46: .line 746
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        47: .line 747
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        48: .line 746
            if_acmpne 54
        49: .line 748
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 54
        50: .line 751
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
        51: .line 753
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 53
        52: .line 754
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 1 /* methodName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " SUFFICIENT success"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        53: .line 755
      StackMap locals:
      StackMap stack:
            return
        54: .line 758
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 56
        55: .line 759
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 1 /* methodName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " success"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        56: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.success:Z
        57: .line 761
            goto 108
        58: .line 762
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 108
        59: .line 763
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 1 /* methodName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ignored"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 3 // boolean status
        60: .line 765
            goto 108
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int
      StackMap stack: java.lang.Exception
        61: astore 3 /* ite */
        start local 3 // java.lang.Exception ite
        62: .line 770
            aload 3 /* ite */
            instanceof sun.security.util.PendingException
            ifeq 65
        63: .line 771
            aload 1 /* methodName */
            ldc "login"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 65
        64: .line 794
            aload 3 /* ite */
            checkcast sun.security.util.PendingException
            athrow
        65: .line 796
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 3 /* ite */
            instanceof javax.security.auth.login.LoginException
            ifeq 68
        66: .line 798
            aload 3 /* ite */
            checkcast javax.security.auth.login.LoginException
            astore 4 /* le */
        start local 4 // javax.security.auth.login.LoginException le
        67: .line 800
            goto 85
        end local 4 // javax.security.auth.login.LoginException le
      StackMap locals:
      StackMap stack:
        68: aload 3 /* ite */
            instanceof java.lang.SecurityException
            ifeq 79
        69: .line 805
            new javax.security.auth.login.LoginException
            dup
            ldc "Security Exception"
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            astore 4 /* le */
        start local 4 // javax.security.auth.login.LoginException le
        70: .line 806
            aload 4 /* le */
            new java.lang.SecurityException
            dup
            invokespecial java.lang.SecurityException.<init>:()V
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        71: .line 807
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 85
        72: .line 808
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
        73: .line 809
            ldc "original security exception with detail msg replaced by new exception with empty detail msg"
        74: .line 808
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        75: .line 811
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "original security exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        76: .line 812
            aload 3 /* ite */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        77: .line 811
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        78: .line 814
            goto 85
        end local 4 // javax.security.auth.login.LoginException le
        79: .line 817
      StackMap locals:
      StackMap stack:
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 5 /* sw */
        start local 5 // java.io.StringWriter sw
        80: .line 818
            aload 3 /* ite */
        81: .line 819
            new java.io.PrintWriter
            dup
            aload 5 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
        82: .line 818
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
        83: .line 820
            aload 5 /* sw */
            invokevirtual java.io.StringWriter.flush:()V
        84: .line 821
            new javax.security.auth.login.LoginException
            dup
            aload 5 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            astore 4 /* le */
        end local 5 // java.io.StringWriter sw
        start local 4 // javax.security.auth.login.LoginException le
        85: .line 824
      StackMap locals: javax.security.auth.login.LoginException
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        86: .line 825
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        87: .line 824
            if_acmpne 97
        88: .line 827
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 90
        89: .line 828
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 1 /* methodName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " REQUISITE failure"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        90: .line 831
      StackMap locals:
      StackMap stack:
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 92
        91: .line 832
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 95
        92: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 108
        93: .line 834
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        94: .line 835
            goto 108
        95: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            aload 4 /* le */
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
        96: .line 839
            goto 108
      StackMap locals:
      StackMap stack:
        97: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        98: .line 840
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
            if_acmpne 104
        99: .line 842
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 101
       100: .line 843
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 1 /* methodName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " REQUIRED failure"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       101: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 108
       102: .line 847
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
       103: .line 849
            goto 108
       104: .line 851
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 106
       105: .line 852
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 1 /* methodName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " OPTIONAL failure"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       106: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            ifnonnull 108
       107: .line 856
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
        end local 4 // javax.security.auth.login.LoginException le
        end local 3 // java.lang.Exception ite
       108: .line 679
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
            aload 0 /* this */
            dup
            getfield javax.security.auth.login.LoginContext.moduleIndex:I
            iconst_1
            iadd
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
      StackMap locals:
      StackMap stack:
       109: iload 2 /* i */
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            arraylength
            if_icmplt 2
        end local 2 // int i
       110: .line 862
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnull 113
       111: .line 864
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            aconst_null
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
       112: .line 865
            goto 124
      StackMap locals:
      StackMap stack:
       113: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.success:Z
            ifne 116
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            ifnull 116
       114: .line 867
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            aconst_null
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
       115: .line 868
            goto 124
      StackMap locals:
      StackMap stack:
       116: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.success:Z
            ifne 122
       117: .line 870
            aload 0 /* this */
            new javax.security.auth.login.LoginException
            dup
       118: .line 871
            ldc "Login.Failure.all.modules.ignored"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
       119: .line 872
            aconst_null
       120: .line 870
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
       121: .line 873
            goto 124
       122: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
       123: .line 877
            return
       124: .line 879
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String methodName
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  125     0        this  Ljavax/security/auth/login/LoginContext;
            0  125     1  methodName  Ljava/lang/String;
            1  110     2           i  I
            4   29     3        name  Ljava/lang/String;
            6   29     4          sc  Ljava/util/ServiceLoader<Ljavax/security/auth/spi/LoginModule;>;
            8   13     5           m  Ljavax/security/auth/spi/LoginModule;
           16   19     5         tmp  Ljava/lang/Object;
           35   36     3      status  Z
           37   38     3      status  Z
           39   40     3      status  Z
           41   42     3      status  Z
           43   60     3      status  Z
           62  108     3         ite  Ljava/lang/Exception;
           67   68     4          le  Ljavax/security/auth/login/LoginException;
           70   79     4          le  Ljavax/security/auth/login/LoginException;
           85  108     4          le  Ljavax/security/auth/login/LoginException;
           80   85     5          sw  Ljava/io/StringWriter;
      Exception table:
        from    to  target  type
          15    19      20  Class java.lang.ClassNotFoundException
           2    53      61  Class java.lang.Exception
          54    60      61  Class java.lang.Exception
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
            Name  Flags
      methodName  

  private java.util.ServiceLoader lambda$0();
    descriptor: ()Ljava/util/ServiceLoader;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.security.auth.login.LoginContext this
         0: .line 690
            ldc Ljavax/security/auth/spi/LoginModule;
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         1: .line 689
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
         2: .line 690
            areturn
        end local 0 // javax.security.auth.login.LoginContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/security/auth/login/LoginContext;
}
SourceFile: "LoginContext.java"
NestMembers:
  javax.security.auth.login.LoginContext$1  javax.security.auth.login.LoginContext$2  javax.security.auth.login.LoginContext$3  javax.security.auth.login.LoginContext$4  javax.security.auth.login.LoginContext$ModuleInfo  javax.security.auth.login.LoginContext$SecureCallbackHandler  javax.security.auth.login.LoginContext$SecureCallbackHandler$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public LoginModuleControlFlag = javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag of javax.security.auth.login.AppConfigurationEntry
  javax.security.auth.login.LoginContext$1
  javax.security.auth.login.LoginContext$2
  javax.security.auth.login.LoginContext$3
  javax.security.auth.login.LoginContext$4
  private ModuleInfo = javax.security.auth.login.LoginContext$ModuleInfo of javax.security.auth.login.LoginContext
  private SecureCallbackHandler = javax.security.auth.login.LoginContext$SecureCallbackHandler of javax.security.auth.login.LoginContext