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

  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 215
            iconst_0
            anewarray java.lang.Class
            putstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
         1: .line 226
            ldc "logincontext"
            ldc "\t[LoginContext]"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
         2: .line 225
            putstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
         3: .line 226
            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 230
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 231
            aload 2 /* sm */
            ifnull 5
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 5
         2: .line 232
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
         3: .line 233
            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 232
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 236
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 1 /* name */
            ifnonnull 9
         6: .line 237
            new javax.security.auth.login.LoginException
            dup
         7: .line 238
            ldc "Invalid.null.input.name"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 237
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
            ifnonnull 13
        10: .line 242
            aload 0 /* this */
        11: .line 243
            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 242
            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 251
      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 252
            aload 3 /* entries */
            ifnonnull 26
        15: .line 254
            aload 2 /* sm */
            ifnull 19
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 19
        16: .line 255
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
        17: .line 256
            ldc "createLoginContext.other"
            invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
        18: .line 255
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        19: .line 259
      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 260
            aload 3 /* entries */
            ifnonnull 26
        21: .line 261
            new java.text.MessageFormat
            dup
        22: .line 262
            ldc "No.LoginModules.configured.for.name"
        23: .line 261
            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 263
            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 264
            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 267
      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 268
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        28: goto 38
        29: .line 270
      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 271
            new javax.security.auth.login.AppConfigurationEntry
            dup
        31: .line 272
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
        32: .line 273
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        33: .line 274
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
        34: .line 271
            invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
        35: .line 275
            aconst_null
            invokespecial javax.security.auth.login.LoginContext$ModuleInfo.<init>:(Ljavax/security/auth/login/AppConfigurationEntry;Ljava/lang/Object;)V
        36: .line 270
            aastore
        37: .line 268
            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 278
            aload 0 /* this */
        40: .line 279
            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 278
            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 292
            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 299
            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 301
            aload 0 /* this */
         2: .line 302
            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 301
            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 314
            goto 7
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         5: astore 1 /* pae */
        start local 1 // java.security.PrivilegedActionException pae
         6: .line 315
            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 319
      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 320
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
         9: .line 321
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        10: .line 322
            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 320
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        12: .line 324
      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 347
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 205
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 206
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 207
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 209
            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 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 214
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 221
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 223
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 348
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 349
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        13: .line 350
            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 379
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 205
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 206
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 207
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 209
            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 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 214
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 221
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 223
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 381
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 382
            aload 2 /* subject */
            ifnonnull 16
        13: .line 383
            new javax.security.auth.login.LoginException
            dup
        14: .line 384
            ldc "invalid.null.Subject.provided"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 383
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 385
      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 386
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 387
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        19: .line 388
            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 415
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 205
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 206
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 207
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 209
            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 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 214
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 221
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 223
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 417
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 418
            aload 2 /* callbackHandler */
            ifnonnull 16
        13: .line 419
            new javax.security.auth.login.LoginException
            dup
        14: .line 420
            ldc "invalid.null.CallbackHandler.provided"
        15: .line 419
            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 421
      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 422
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        18: .line 423
            aload 2 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        19: .line 421
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        20: .line 424
            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 458
            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 459
            aload 3 /* callbackHandler */
            ifnonnull 5
         2: .line 460
            new javax.security.auth.login.LoginException
            dup
         3: .line 461
            ldc "invalid.null.CallbackHandler.provided"
         4: .line 460
            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 462
      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 463
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
         7: .line 464
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
         8: .line 462
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
         9: .line 465
            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 504
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 205
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 206
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 207
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 209
            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 212
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 214
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 220
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 221
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 223
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 507
            aload 0 /* this */
            aload 4 /* config */
            putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
        12: .line 508
            aload 4 /* config */
            ifnull 14
        13: .line 509
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
        14: .line 512
      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 513
            aload 2 /* subject */
            ifnull 18
        16: .line 514
            aload 0 /* this */
            aload 2 /* subject */
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
        17: .line 515
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 517
      StackMap locals:
      StackMap stack:
            aload 3 /* callbackHandler */
            ifnonnull 21
        19: .line 518
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        20: .line 519
            goto 28
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 27
        22: .line 520
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
        23: .line 521
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        24: .line 522
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        25: .line 520
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        26: .line 523
            goto 28
        27: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* callbackHandler */
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        28: .line 526
      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 579
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         1: .line 581
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 3
         2: .line 582
            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 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "login"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         4: .line 588
            aload 0 /* this */
            ldc "commit"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 589
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         6: .line 590
            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 592
            aload 0 /* this */
            ldc "abort"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         9: .line 593
            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 594
            aload 1 /* le */
            athrow
        12: .line 596
      StackMap locals:
      StackMap stack:
            aload 1 /* le */
            athrow
        end local 1 // javax.security.auth.login.LoginException le
        13: .line 598
      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 622
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 4
         1: .line 623
            new javax.security.auth.login.LoginException
            dup
         2: .line 624
            ldc "null.subject.logout.called.before.login"
         3: .line 623
            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 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "logout"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 629
            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 646
            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 647
            aconst_null
            areturn
         2: .line 648
      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 652
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         1: .line 653
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         2: .line 654
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
         3: .line 655
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
         4: .line 656
            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 662
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
         1: .line 665
            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 666
            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 680
            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 685
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         2: .line 679
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         3: .line 686
            goto 6
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 2 /* pae */
        start local 2 // java.security.PrivilegedActionException pae
         5: .line 687
            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 689
      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 696
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleIndex:I
            istore 2 /* i */
        start local 2 // int i
         1: goto 131
         2: .line 699
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* mIndex */
        start local 3 // int mIndex
         3: .line 700
            aconst_null
            astore 4 /* methods */
        start local 4 // java.lang.reflect.Method[] methods
         4: .line 702
            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 703
            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 704
            goto 26
         7: .line 711
      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 712
            iconst_1
         9: .line 713
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
        10: .line 710
            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 715
            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 716
            iconst_0
            anewarray java.lang.Object
            astore 7 /* args */
        start local 7 // java.lang.Object[] args
        13: .line 717
            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 720
            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 721
            iconst_0
            istore 3 /* mIndex */
            goto 19
        16: .line 722
      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 723
            goto 20
        18: .line 721
      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 727
      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 728
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
            aastore
            dup
            iconst_2
        22: .line 729
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
            aastore
            dup
            iconst_3
        23: .line 730
            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 727
            astore 8 /* initArgs */
        start local 8 // java.lang.Object[] initArgs
        25: .line 736
            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 740
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* mIndex */
            goto 30
        27: .line 741
      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 742
            goto 31
        29: .line 740
      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 747
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.Object
            astore 5 /* args */
        start local 5 // java.lang.Object[] args
        32: .line 754
            aload 4 /* methods */
            iload 3 /* mIndex */
            aaload
        33: .line 755
            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 754
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
        35: .line 755
            invokevirtual java.lang.Boolean.booleanValue:()Z
        36: .line 754
            istore 6 /* status */
        start local 6 // boolean status
        37: .line 757
            iload 6 /* status */
            ifeq 52
        38: .line 760
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 48
        39: .line 761
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 48
        40: .line 762
            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 763
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        42: .line 762
            if_acmpne 48
        43: .line 764
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 48
        44: .line 767
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
        45: .line 769
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 47
        46: .line 770
            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 771
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            return
        48: .line 774
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 50
        49: .line 775
            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 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.success:Z
        51: .line 777
            goto 130
        52: .line 778
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 130
        53: .line 779
            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 782
            goto 130
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int
      StackMap stack: java.lang.NoSuchMethodException
        55: pop
        56: .line 783
            new java.text.MessageFormat
            dup
        57: .line 784
            ldc "unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor"
        58: .line 783
            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 785
            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 786
            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 787
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 3 /* ie */
        start local 3 // java.lang.InstantiationException ie
        63: .line 788
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        64: .line 789
            ldc "unable.to.instantiate.LoginModule."
        65: .line 788
            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 790
            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 788
            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 791
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* cnfe */
        start local 3 // java.lang.ClassNotFoundException cnfe
        70: .line 792
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        71: .line 793
            ldc "unable.to.find.LoginModule.class."
        72: .line 792
            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 794
            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 792
            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 795
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* iae */
        start local 3 // java.lang.IllegalAccessException iae
        77: .line 796
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        78: .line 797
            ldc "unable.to.access.LoginModule."
        79: .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
        80: .line 798
            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 796
            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 799
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* ite */
        start local 3 // java.lang.reflect.InvocationTargetException ite
        84: .line 805
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            instanceof sun.security.util.PendingException
            ifeq 87
        85: .line 806
            aload 1 /* methodName */
            ldc "login"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 87
        86: .line 829
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            checkcast sun.security.util.PendingException
            athrow
        87: .line 831
      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 833
            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 835
            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 840
            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 841
            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 842
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 107
        94: .line 843
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
        95: .line 844
            ldc "original security exception with detail msg replaced by new exception with empty detail msg"
        96: .line 843
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        97: .line 846
            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 847
            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 846
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       100: .line 849
            goto 107
        end local 4 // javax.security.auth.login.LoginException le
       101: .line 852
      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 853
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
       103: .line 854
            new java.io.PrintWriter
            dup
            aload 5 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
       104: .line 853
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
       105: .line 855
            aload 5 /* sw */
            invokevirtual java.io.StringWriter.flush:()V
       106: .line 856
            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 859
      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 860
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
       109: .line 859
            if_acmpne 119
       110: .line 862
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 112
       111: .line 863
            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 866
      StackMap locals:
      StackMap stack:
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 114
       113: .line 867
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 117
       114: .line 868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 130
       115: .line 869
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
       116: .line 870
            goto 130
       117: .line 871
      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 874
            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 875
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
            if_acmpne 126
       121: .line 877
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 123
       122: .line 878
            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 881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 130
       124: .line 882
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
       125: .line 884
            goto 130
       126: .line 886
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 128
       127: .line 887
            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 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            ifnonnull 130
       129: .line 891
            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 696
      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 897
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnull 135
       133: .line 899
            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 900
            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 902
            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 903
            goto 146
      StackMap locals:
      StackMap stack:
       138: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.success:Z
            ifne 144
       139: .line 905
            aload 0 /* this */
            new javax.security.auth.login.LoginException
            dup
       140: .line 906
            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 907
            aconst_null
       142: .line 905
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
       143: .line 908
            goto 146
       144: .line 911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
       145: .line 912
            return
       146: .line 914
      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