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 INIT_METHOD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "initialize"

  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 state;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  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 static final java.lang.Class[] PARAMS;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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
            iconst_0
            anewarray java.lang.Class
            putstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
         1: .line 234
            ldc "logincontext"
            ldc "\t[LoginContext]"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
         2: .line 233
            putstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
         3: .line 234
            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 238
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 239
            aload 2 /* sm */
            ifnull 5
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 5
         2: .line 240
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
         3: .line 241
            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 240
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 244
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 1 /* name */
            ifnonnull 9
         6: .line 245
            new javax.security.auth.login.LoginException
            dup
         7: .line 246
            ldc "Invalid.null.input.name"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 245
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
            ifnonnull 13
        10: .line 250
            aload 0 /* this */
        11: .line 251
            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 250
            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 259
      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 260
            aload 3 /* entries */
            ifnonnull 26
        15: .line 262
            aload 2 /* sm */
            ifnull 19
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 19
        16: .line 263
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
        17: .line 264
            ldc "createLoginContext.other"
            invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
        18: .line 263
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        19: .line 267
      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 268
            aload 3 /* entries */
            ifnonnull 26
        21: .line 269
            new java.text.MessageFormat
            dup
        22: .line 270
            ldc "No.LoginModules.configured.for.name"
        23: .line 269
            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 271
            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 272
            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 275
      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 276
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        28: goto 38
        29: .line 278
      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 279
            new javax.security.auth.login.AppConfigurationEntry
            dup
        31: .line 280
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
        32: .line 281
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        33: .line 282
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
        34: .line 279
            invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
        35: .line 283
            aconst_null
            invokespecial javax.security.auth.login.LoginContext$ModuleInfo.<init>:(Ljavax/security/auth/login/AppConfigurationEntry;Ljava/lang/Object;)V
        36: .line 278
            aastore
        37: .line 276
            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 286
            aload 0 /* this */
        40: .line 287
            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 286
            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 300
            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 307
            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 309
            aload 0 /* this */
         2: .line 310
            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 309
            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 322
            goto 7
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         5: astore 1 /* pae */
        start local 1 // java.security.PrivilegedActionException pae
         6: .line 323
            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 327
      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 328
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
         9: .line 329
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        10: .line 330
            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 328
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        12: .line 332
      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 355
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 214
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 215
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 217
            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 220
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 228
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 229
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 230
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 231
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 356
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 357
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        13: .line 358
            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 387
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 214
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 215
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 217
            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 220
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 228
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 229
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 230
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 231
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 389
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 390
            aload 2 /* subject */
            ifnonnull 16
        13: .line 391
            new javax.security.auth.login.LoginException
            dup
        14: .line 392
            ldc "invalid.null.Subject.provided"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 391
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 393
      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 394
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 395
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        19: .line 396
            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 423
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 214
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 215
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 217
            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 220
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 228
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 229
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 230
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 231
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 425
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 426
            aload 2 /* callbackHandler */
            ifnonnull 16
        13: .line 427
            new javax.security.auth.login.LoginException
            dup
        14: .line 428
            ldc "invalid.null.CallbackHandler.provided"
        15: .line 427
            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 429
      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 430
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        18: .line 431
            aload 2 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        19: .line 429
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        20: .line 432
            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 466
            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 467
            aload 3 /* callbackHandler */
            ifnonnull 5
         2: .line 468
            new javax.security.auth.login.LoginException
            dup
         3: .line 469
            ldc "invalid.null.CallbackHandler.provided"
         4: .line 468
            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 470
      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 471
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
         7: .line 472
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
         8: .line 470
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
         9: .line 473
            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 512
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 214
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 215
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 217
            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 220
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 228
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 229
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 230
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 231
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 515
            aload 0 /* this */
            aload 4 /* config */
            putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
        12: .line 516
            aload 4 /* config */
            ifnull 14
        13: .line 517
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
        14: .line 520
      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 521
            aload 2 /* subject */
            ifnull 18
        16: .line 522
            aload 0 /* this */
            aload 2 /* subject */
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
        17: .line 523
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 525
      StackMap locals:
      StackMap stack:
            aload 3 /* callbackHandler */
            ifnonnull 21
        19: .line 526
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        20: .line 527
            goto 28
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 27
        22: .line 528
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
        23: .line 529
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        24: .line 530
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        25: .line 528
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        26: .line 531
            goto 28
        27: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* callbackHandler */
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        28: .line 534
      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 587
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         1: .line 589
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 3
         2: .line 590
            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 595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "login"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         4: .line 596
            aload 0 /* this */
            ldc "commit"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 597
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         6: .line 598
            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 600
            aload 0 /* this */
            ldc "abort"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         9: .line 601
            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 602
            aload 1 /* le */
            athrow
        12: .line 604
      StackMap locals:
      StackMap stack:
            aload 1 /* le */
            athrow
        end local 1 // javax.security.auth.login.LoginException le
        13: .line 606
      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 630
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 4
         1: .line 631
            new javax.security.auth.login.LoginException
            dup
         2: .line 632
            ldc "null.subject.logout.called.before.login"
         3: .line 631
            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 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "logout"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 637
            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 654
            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 655
            aconst_null
            areturn
         2: .line 656
      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 660
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         1: .line 661
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         2: .line 662
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
         3: .line 663
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
         4: .line 664
            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 670
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
         1: .line 673
            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 674
            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 688
            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 693
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         2: .line 687
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         3: .line 694
            goto 6
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 2 /* pae */
        start local 2 // java.security.PrivilegedActionException pae
         5: .line 695
            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 697
      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=7, locals=9, args_size=2
        start local 0 // javax.security.auth.login.LoginContext this
        start local 1 // java.lang.String methodName
         0: .line 704
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleIndex:I
            istore 2 /* i */
        start local 2 // int i
         1: goto 131
         2: .line 707
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* mIndex */
        start local 3 // int mIndex
         3: .line 708
            aconst_null
            astore 4 /* methods */
        start local 4 // java.lang.reflect.Method[] methods
         4: .line 710
            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:Ljava/lang/Object;
            ifnull 7
         5: .line 711
            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:Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            astore 4 /* methods */
         6: .line 712
            goto 26
         7: .line 719
      StackMap locals: int java.lang.reflect.Method[]
      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.getLoginModuleName:()Ljava/lang/String;
         8: .line 720
            iconst_1
         9: .line 721
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
        10: .line 718
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 5 /* c */
        start local 5 // java.lang.Class c
        11: .line 723
            aload 5 /* c */
            getstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 6 /* constructor */
        start local 6 // java.lang.reflect.Constructor constructor
        12: .line 724
            iconst_0
            anewarray java.lang.Object
            astore 7 /* args */
        start local 7 // java.lang.Object[] args
        13: .line 725
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
            iload 2 /* i */
            aaload
            aload 6 /* constructor */
            aload 7 /* args */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            putfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
        14: .line 728
            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:Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            astore 4 /* methods */
        15: .line 729
            iconst_0
            istore 3 /* mIndex */
            goto 19
        16: .line 730
      StackMap locals: java.lang.Class java.lang.reflect.Constructor java.lang.Object[]
      StackMap stack:
            aload 4 /* methods */
            iload 3 /* mIndex */
            aaload
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            ldc "initialize"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 731
            goto 20
        18: .line 729
      StackMap locals:
      StackMap stack:
            iinc 3 /* mIndex */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* mIndex */
            aload 4 /* methods */
            arraylength
            if_icmplt 16
        20: .line 735
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            aastore
            dup
            iconst_1
        21: .line 736
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
            aastore
            dup
            iconst_2
        22: .line 737
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
            aastore
            dup
            iconst_3
        23: .line 738
            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;
            aastore
        24: .line 735
            astore 8 /* initArgs */
        start local 8 // java.lang.Object[] initArgs
        25: .line 744
            aload 4 /* methods */
            iload 3 /* mIndex */
            aaload
            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:Ljava/lang/Object;
            aload 8 /* initArgs */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.Object[] initArgs
        end local 7 // java.lang.Object[] args
        end local 6 // java.lang.reflect.Constructor constructor
        end local 5 // java.lang.Class c
        26: .line 748
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* mIndex */
            goto 30
        27: .line 749
      StackMap locals:
      StackMap stack:
            aload 4 /* methods */
            iload 3 /* mIndex */
            aaload
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* methodName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 750
            goto 31
        29: .line 748
      StackMap locals:
      StackMap stack:
            iinc 3 /* mIndex */ 1
      StackMap locals:
      StackMap stack:
        30: iload 3 /* mIndex */
            aload 4 /* methods */
            arraylength
            if_icmplt 27
        31: .line 755
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.Object
            astore 5 /* args */
        start local 5 // java.lang.Object[] args
        32: .line 762
            aload 4 /* methods */
            iload 3 /* mIndex */
            aaload
        33: .line 763
            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:Ljava/lang/Object;
            aload 5 /* args */
        34: .line 762
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
        35: .line 763
            invokevirtual java.lang.Boolean.booleanValue:()Z
        36: .line 762
            istore 6 /* status */
        start local 6 // boolean status
        37: .line 765
            iload 6 /* status */
            ifeq 52
        38: .line 768
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 48
        39: .line 769
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 48
        40: .line 770
            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;
        41: .line 771
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        42: .line 770
            if_acmpne 48
        43: .line 772
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 48
        44: .line 775
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
        45: .line 777
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 47
        46: .line 778
            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
        47: .line 779
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            return
        48: .line 782
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 50
        49: .line 783
            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
        50: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.success:Z
        51: .line 785
            goto 130
        52: .line 786
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 130
        53: .line 787
            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 6 // boolean status
        end local 5 // java.lang.Object[] args
        end local 4 // java.lang.reflect.Method[] methods
        end local 3 // int mIndex
        54: .line 790
            goto 130
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int
      StackMap stack: java.lang.NoSuchMethodException
        55: pop
        56: .line 791
            new java.text.MessageFormat
            dup
        57: .line 792
            ldc "unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor"
        58: .line 791
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        59: .line 793
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            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;
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        60: .line 794
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        61: goto 130
        62: .line 795
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 3 /* ie */
        start local 3 // java.lang.InstantiationException ie
        63: .line 796
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        64: .line 797
            ldc "unable.to.instantiate.LoginModule."
        65: .line 796
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        66: .line 798
            aload 3 /* ie */
            invokevirtual java.lang.InstantiationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
        67: .line 796
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
        end local 3 // java.lang.InstantiationException ie
        68: goto 130
        69: .line 799
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* cnfe */
        start local 3 // java.lang.ClassNotFoundException cnfe
        70: .line 800
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        71: .line 801
            ldc "unable.to.find.LoginModule.class."
        72: .line 800
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        73: .line 802
            aload 3 /* cnfe */
            invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
        74: .line 800
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
        end local 3 // java.lang.ClassNotFoundException cnfe
        75: goto 130
        76: .line 803
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* iae */
        start local 3 // java.lang.IllegalAccessException iae
        77: .line 804
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        78: .line 805
            ldc "unable.to.access.LoginModule."
        79: .line 804
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        80: .line 806
            aload 3 /* iae */
            invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
        81: .line 804
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
        end local 3 // java.lang.IllegalAccessException iae
        82: goto 130
        83: .line 807
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* ite */
        start local 3 // java.lang.reflect.InvocationTargetException ite
        84: .line 813
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            instanceof sun.security.util.PendingException
            ifeq 87
        85: .line 814
            aload 1 /* methodName */
            ldc "login"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 87
        86: .line 837
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            checkcast sun.security.util.PendingException
            athrow
        87: .line 839
      StackMap locals: java.lang.reflect.InvocationTargetException
      StackMap stack:
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            instanceof javax.security.auth.login.LoginException
            ifeq 90
        88: .line 841
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            checkcast javax.security.auth.login.LoginException
            astore 4 /* le */
        start local 4 // javax.security.auth.login.LoginException le
        89: .line 843
            goto 107
        end local 4 // javax.security.auth.login.LoginException le
      StackMap locals:
      StackMap stack:
        90: aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.SecurityException
            ifeq 101
        91: .line 848
            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
        92: .line 849
            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
        93: .line 850
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 107
        94: .line 851
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
        95: .line 852
            ldc "original security exception with detail msg replaced by new exception with empty detail msg"
        96: .line 851
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        97: .line 854
            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
        98: .line 855
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        99: .line 854
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       100: .line 857
            goto 107
        end local 4 // javax.security.auth.login.LoginException le
       101: .line 860
      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
       102: .line 861
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
       103: .line 862
            new java.io.PrintWriter
            dup
            aload 5 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
       104: .line 861
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
       105: .line 863
            aload 5 /* sw */
            invokevirtual java.io.StringWriter.flush:()V
       106: .line 864
            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
       107: .line 867
      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;
       108: .line 868
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
       109: .line 867
            if_acmpne 119
       110: .line 870
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 112
       111: .line 871
            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
       112: .line 874
      StackMap locals:
      StackMap stack:
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 114
       113: .line 875
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 117
       114: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 130
       115: .line 877
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
       116: .line 878
            goto 130
       117: .line 879
      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
       118: .line 882
            goto 130
      StackMap locals:
      StackMap stack:
       119: 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;
       120: .line 883
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
            if_acmpne 126
       121: .line 885
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 123
       122: .line 886
            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
       123: .line 889
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 130
       124: .line 890
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
       125: .line 892
            goto 130
       126: .line 894
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 128
       127: .line 895
            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
       128: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            ifnonnull 130
       129: .line 899
            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.reflect.InvocationTargetException ite
       130: .line 704
      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:
       131: 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
       132: .line 905
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnull 135
       133: .line 907
            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
       134: .line 908
            goto 146
      StackMap locals:
      StackMap stack:
       135: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.success:Z
            ifne 138
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            ifnull 138
       136: .line 910
            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
       137: .line 911
            goto 146
      StackMap locals:
      StackMap stack:
       138: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.success:Z
            ifne 144
       139: .line 913
            aload 0 /* this */
            new javax.security.auth.login.LoginException
            dup
       140: .line 914
            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
       141: .line 915
            aconst_null
       142: .line 913
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
       143: .line 916
            goto 146
       144: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
       145: .line 920
            return
       146: .line 922
      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  147     0         this  Ljavax/security/auth/login/LoginContext;
            0  147     1   methodName  Ljava/lang/String;
            1  132     2            i  I
            3   54     3       mIndex  I
            4   54     4      methods  [Ljava/lang/reflect/Method;
           11   26     5            c  Ljava/lang/Class<*>;
           12   26     6  constructor  Ljava/lang/reflect/Constructor;
           13   26     7         args  [Ljava/lang/Object;
           25   26     8     initArgs  [Ljava/lang/Object;
           32   54     5         args  [Ljava/lang/Object;
           37   54     6       status  Z
           59   61     3         form  Ljava/text/MessageFormat;
           60   61     4       source  [Ljava/lang/Object;
           63   68     3           ie  Ljava/lang/InstantiationException;
           70   75     3         cnfe  Ljava/lang/ClassNotFoundException;
           77   82     3          iae  Ljava/lang/IllegalAccessException;
           84  130     3          ite  Ljava/lang/reflect/InvocationTargetException;
           89   90     4           le  Ljavax/security/auth/login/LoginException;
           92  101     4           le  Ljavax/security/auth/login/LoginException;
          107  130     4           le  Ljavax/security/auth/login/LoginException;
          102  107     5           sw  Ljava/io/StringWriter;
      Exception table:
        from    to  target  type
           2    47      55  Class java.lang.NoSuchMethodException
          48    54      55  Class java.lang.NoSuchMethodException
           2    47      62  Class java.lang.InstantiationException
          48    54      62  Class java.lang.InstantiationException
           2    47      69  Class java.lang.ClassNotFoundException
          48    54      69  Class java.lang.ClassNotFoundException
           2    47      76  Class java.lang.IllegalAccessException
          48    54      76  Class java.lang.IllegalAccessException
           2    47      83  Class java.lang.reflect.InvocationTargetException
          48    54      83  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
            Name  Flags
      methodName  
}
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 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