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

  private static final boolean noPackageAccessWithTCCL;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 225
            iconst_0
            anewarray java.lang.Class
            putstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
         1: .line 236
            ldc "logincontext"
            ldc "\t[LoginContext]"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
         2: .line 235
            putstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
         3: .line 240
            ldc "true"
         4: .line 242
            new javax.security.auth.login.LoginContext$1
            dup
            invokespecial javax.security.auth.login.LoginContext$1.<init>:()V
         5: .line 241
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
         6: .line 240
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            putstatic javax.security.auth.login.LoginContext.noPackageAccessWithTCCL:Z
         7: .line 248
            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 253
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 254
            aload 2 /* sm */
            ifnull 5
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 5
         2: .line 255
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
         3: .line 256
            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 255
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 259
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 1 /* name */
            ifnonnull 9
         6: .line 260
            new javax.security.auth.login.LoginException
            dup
         7: .line 261
            ldc "Invalid.null.input.name"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 260
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
            ifnonnull 13
        10: .line 265
            aload 0 /* this */
        11: .line 266
            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
        12: .line 265
            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 274
      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 275
            aload 3 /* entries */
            ifnonnull 26
        15: .line 277
            aload 2 /* sm */
            ifnull 19
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 19
        16: .line 278
            aload 2 /* sm */
            new javax.security.auth.AuthPermission
            dup
        17: .line 279
            ldc "createLoginContext.other"
            invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
        18: .line 278
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        19: .line 282
      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 283
            aload 3 /* entries */
            ifnonnull 26
        21: .line 284
            new java.text.MessageFormat
            dup
        22: .line 285
            ldc "No.LoginModules.configured.for.name"
        23: .line 284
            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 286
            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 287
            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 290
      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 291
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        28: goto 38
        29: .line 293
      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 294
            new javax.security.auth.login.AppConfigurationEntry
            dup
        31: .line 295
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
        32: .line 296
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        33: .line 297
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
        34: .line 294
            invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
        35: .line 298
            aconst_null
            invokespecial javax.security.auth.login.LoginContext$ModuleInfo.<init>:(Ljavax/security/auth/login/AppConfigurationEntry;Ljava/lang/Object;)V
        36: .line 293
            aastore
        37: .line 291
            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 301
            aload 0 /* this */
        40: .line 302
            new javax.security.auth.login.LoginContext$3
            dup
            aload 0 /* this */
            invokespecial javax.security.auth.login.LoginContext$3.<init>:(Ljavax/security/auth/login/LoginContext;)V
        41: .line 301
            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 307
            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 314
            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 316
            aload 0 /* this */
         2: .line 317
            new javax.security.auth.login.LoginContext$4
            dup
            aload 0 /* this */
            aload 1 /* finalLoader */
            invokespecial javax.security.auth.login.LoginContext$4.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/ClassLoader;)V
         3: .line 316
            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 329
            goto 7
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         5: astore 1 /* pae */
        start local 1 // java.security.PrivilegedActionException pae
         6: .line 330
            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 334
      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 335
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
         9: .line 336
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        10: .line 337
            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 335
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        12: .line 339
      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 362
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 215
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 216
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 219
            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 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 224
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 230
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 231
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 232
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 233
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 363
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 364
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        13: .line 365
            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 394
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 215
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 216
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 219
            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 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 224
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 230
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 231
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 232
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 233
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 396
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 397
            aload 2 /* subject */
            ifnonnull 16
        13: .line 398
            new javax.security.auth.login.LoginException
            dup
        14: .line 399
            ldc "invalid.null.Subject.provided"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 398
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 400
      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 401
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 402
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        19: .line 403
            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 430
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 215
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 216
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 219
            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 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 224
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 230
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 231
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 232
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 233
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 432
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
        12: .line 433
            aload 2 /* callbackHandler */
            ifnonnull 16
        13: .line 434
            new javax.security.auth.login.LoginException
            dup
        14: .line 435
            ldc "invalid.null.CallbackHandler.provided"
        15: .line 434
            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 436
      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 437
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        18: .line 438
            aload 2 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        19: .line 436
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        20: .line 439
            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 473
            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 474
            aload 3 /* callbackHandler */
            ifnonnull 5
         2: .line 475
            new javax.security.auth.login.LoginException
            dup
         3: .line 476
            ldc "invalid.null.CallbackHandler.provided"
         4: .line 475
            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 477
      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 478
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
         7: .line 479
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
         8: .line 477
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
         9: .line 480
            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 519
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 215
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
         2: .line 216
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
         3: .line 217
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         4: .line 219
            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 222
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         6: .line 224
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
         7: .line 230
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         8: .line 231
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         9: .line 232
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
        10: .line 233
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
        11: .line 522
            aload 0 /* this */
            aload 4 /* config */
            putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
        12: .line 523
            aload 4 /* config */
            ifnull 14
        13: .line 524
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
        14: .line 527
      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 528
            aload 2 /* subject */
            ifnull 18
        16: .line 529
            aload 0 /* this */
            aload 2 /* subject */
            putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
        17: .line 530
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.subjectProvided:Z
        18: .line 532
      StackMap locals:
      StackMap stack:
            aload 3 /* callbackHandler */
            ifnonnull 21
        19: .line 533
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
        20: .line 534
            goto 28
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnonnull 27
        22: .line 535
            aload 0 /* this */
            new javax.security.auth.login.LoginContext$SecureCallbackHandler
            dup
        23: .line 536
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        24: .line 537
            aload 3 /* callbackHandler */
            invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
        25: .line 535
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        26: .line 538
            goto 28
        27: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* callbackHandler */
            putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
        28: .line 541
      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 594
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         1: .line 596
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 3
         2: .line 597
            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 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "login"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         4: .line 603
            aload 0 /* this */
            ldc "commit"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 604
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
         6: .line 605
            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 607
            aload 0 /* this */
            ldc "abort"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         9: .line 608
            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 609
            aload 1 /* le */
            athrow
        12: .line 611
      StackMap locals:
      StackMap stack:
            aload 1 /* le */
            athrow
        end local 1 // javax.security.auth.login.LoginException le
        13: .line 613
      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 637
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
            ifnonnull 4
         1: .line 638
            new javax.security.auth.login.LoginException
            dup
         2: .line 639
            ldc "null.subject.logout.called.before.login"
         3: .line 638
            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 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "logout"
            invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
         5: .line 644
            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 661
            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 662
            aconst_null
            areturn
         2: .line 663
      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 667
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.moduleIndex:I
         1: .line 668
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
         2: .line 669
            aload 0 /* this */
            aconst_null
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
         3: .line 670
            aload 0 /* this */
            iconst_0
            putfield javax.security.auth.login.LoginContext.success:Z
         4: .line 671
            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 677
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
         1: .line 680
            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 681
            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 695
            new javax.security.auth.login.LoginContext$5
            dup
            aload 0 /* this */
            aload 1 /* methodName */
            invokespecial javax.security.auth.login.LoginContext$5.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/String;)V
         1: .line 700
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
         2: .line 694
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         3: .line 701
            goto 6
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 2 /* pae */
        start local 2 // java.security.PrivilegedActionException pae
         5: .line 702
            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 704
      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 711
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.moduleIndex:I
            istore 2 /* i */
        start local 2 // int i
         1: goto 134
         2: .line 714
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* mIndex */
        start local 3 // int mIndex
         3: .line 715
            aconst_null
            astore 4 /* methods */
        start local 4 // java.lang.reflect.Method[] methods
         4: .line 717
            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 718
            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 719
            goto 29
         7: .line 727
      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 728
            iconst_1
         9: .line 729
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
        10: .line 726
            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 731
            getstatic javax.security.auth.login.LoginContext.noPackageAccessWithTCCL:Z
            ifne 14
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            ifnull 14
        12: .line 732
            aload 5 /* c */
            ldc Ljavax/security/auth/spi/LoginModule;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            pop
        13: .line 733
            aload 5 /* c */
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
            invokestatic javax.security.auth.login.LoginContext.checkPackageAccess:(Ljava/lang/Class;Ljava/security/AccessControlContext;)V
        14: .line 736
      StackMap locals: java.lang.Class
      StackMap stack:
            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
        15: .line 737
            iconst_0
            anewarray java.lang.Object
            astore 7 /* args */
        start local 7 // java.lang.Object[] args
        16: .line 738
            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;
        17: .line 741
            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 */
        18: .line 742
            iconst_0
            istore 3 /* mIndex */
            goto 22
        19: .line 743
      StackMap locals: 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 21
        20: .line 744
            goto 23
        21: .line 742
      StackMap locals:
      StackMap stack:
            iinc 3 /* mIndex */ 1
      StackMap locals:
      StackMap stack:
        22: iload 3 /* mIndex */
            aload 4 /* methods */
            arraylength
            if_icmplt 19
        23: .line 748
      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
        24: .line 749
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
            aastore
            dup
            iconst_2
        25: .line 750
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
            aastore
            dup
            iconst_3
        26: .line 751
            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
        27: .line 748
            astore 8 /* initArgs */
        start local 8 // java.lang.Object[] initArgs
        28: .line 757
            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
        29: .line 761
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* mIndex */
            goto 33
        30: .line 762
      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 32
        31: .line 763
            goto 34
        32: .line 761
      StackMap locals:
      StackMap stack:
            iinc 3 /* mIndex */ 1
      StackMap locals:
      StackMap stack:
        33: iload 3 /* mIndex */
            aload 4 /* methods */
            arraylength
            if_icmplt 30
        34: .line 768
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.Object
            astore 5 /* args */
        start local 5 // java.lang.Object[] args
        35: .line 775
            aload 4 /* methods */
            iload 3 /* mIndex */
            aaload
        36: .line 776
            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 */
        37: .line 775
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
        38: .line 776
            invokevirtual java.lang.Boolean.booleanValue:()Z
        39: .line 775
            istore 6 /* status */
        start local 6 // boolean status
        40: .line 778
            iload 6 /* status */
            ifeq 55
        41: .line 781
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 51
        42: .line 782
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 51
        43: .line 783
            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;
        44: .line 784
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        45: .line 783
            if_acmpne 51
        46: .line 785
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 51
        47: .line 788
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
        48: .line 790
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 50
        49: .line 791
            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
        50: .line 792
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            return
        51: .line 795
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 53
        52: .line 796
            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
        53: .line 797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.security.auth.login.LoginContext.success:Z
        54: .line 798
            goto 133
        55: .line 799
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 133
        56: .line 800
            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
        57: .line 803
            goto 133
      StackMap locals: javax.security.auth.login.LoginContext java.lang.String int
      StackMap stack: java.lang.NoSuchMethodException
        58: pop
        59: .line 804
            new java.text.MessageFormat
            dup
        60: .line 805
            ldc "unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor"
        61: .line 804
            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
        62: .line 806
            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
        63: .line 807
            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
        64: goto 133
        65: .line 808
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 3 /* ie */
        start local 3 // java.lang.InstantiationException ie
        66: .line 809
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        67: .line 810
            ldc "unable.to.instantiate.LoginModule."
        68: .line 809
            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
        69: .line 811
            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
        70: .line 809
            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
        71: goto 133
        72: .line 812
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* cnfe */
        start local 3 // java.lang.ClassNotFoundException cnfe
        73: .line 813
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        74: .line 814
            ldc "unable.to.find.LoginModule.class."
        75: .line 813
            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
        76: .line 815
            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
        77: .line 813
            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
        78: goto 133
        79: .line 816
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* iae */
        start local 3 // java.lang.IllegalAccessException iae
        80: .line 817
            aload 0 /* this */
            aconst_null
            new javax.security.auth.login.LoginException
            dup
            new java.lang.StringBuilder
            dup
        81: .line 818
            ldc "unable.to.access.LoginModule."
        82: .line 817
            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
        83: .line 819
            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
        84: .line 817
            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
        85: goto 133
        86: .line 820
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* ite */
        start local 3 // java.lang.reflect.InvocationTargetException ite
        87: .line 826
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            instanceof sun.security.util.PendingException
            ifeq 90
        88: .line 827
            aload 1 /* methodName */
            ldc "login"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 90
        89: .line 850
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            checkcast sun.security.util.PendingException
            athrow
        90: .line 852
      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 93
        91: .line 854
            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
        92: .line 856
            goto 110
        end local 4 // javax.security.auth.login.LoginException le
      StackMap locals:
      StackMap stack:
        93: aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.SecurityException
            ifeq 104
        94: .line 861
            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
        95: .line 862
            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
        96: .line 863
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 110
        97: .line 864
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
        98: .line 865
            ldc "original security exception with detail msg replaced by new exception with empty detail msg"
        99: .line 864
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       100: .line 867
            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
       101: .line 868
            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;
       102: .line 867
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       103: .line 870
            goto 110
        end local 4 // javax.security.auth.login.LoginException le
       104: .line 873
      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
       105: .line 874
            aload 3 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
       106: .line 875
            new java.io.PrintWriter
            dup
            aload 5 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
       107: .line 874
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
       108: .line 876
            aload 5 /* sw */
            invokevirtual java.io.StringWriter.flush:()V
       109: .line 877
            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
       110: .line 880
      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;
       111: .line 881
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
       112: .line 880
            if_acmpne 122
       113: .line 883
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 115
       114: .line 884
            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
       115: .line 887
      StackMap locals:
      StackMap stack:
            aload 1 /* methodName */
            ldc "abort"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 117
       116: .line 888
            aload 1 /* methodName */
            ldc "logout"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 120
       117: .line 889
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 133
       118: .line 890
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
       119: .line 891
            goto 133
       120: .line 892
      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
       121: .line 895
            goto 133
      StackMap locals:
      StackMap stack:
       122: 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;
       123: .line 896
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
            if_acmpne 129
       124: .line 898
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 126
       125: .line 899
            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
       126: .line 902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnonnull 133
       127: .line 903
            aload 0 /* this */
            aload 4 /* le */
            putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
       128: .line 905
            goto 133
       129: .line 907
      StackMap locals:
      StackMap stack:
            getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
            ifnull 131
       130: .line 908
            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
       131: .line 911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            ifnonnull 133
       132: .line 912
            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
       133: .line 711
      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:
       134: 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
       135: .line 918
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
            ifnull 138
       136: .line 920
            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
       137: .line 921
            goto 149
      StackMap locals:
      StackMap stack:
       138: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.success:Z
            ifne 141
            aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
            ifnull 141
       139: .line 923
            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
       140: .line 924
            goto 149
      StackMap locals:
      StackMap stack:
       141: aload 0 /* this */
            getfield javax.security.auth.login.LoginContext.success:Z
            ifne 147
       142: .line 926
            aload 0 /* this */
            new javax.security.auth.login.LoginException
            dup
       143: .line 927
            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
       144: .line 928
            aconst_null
       145: .line 926
            invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
       146: .line 929
            goto 149
       147: .line 932
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.security.auth.login.LoginContext.clearState:()V
       148: .line 933
            return
       149: .line 935
      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  150     0         this  Ljavax/security/auth/login/LoginContext;
            0  150     1   methodName  Ljava/lang/String;
            1  135     2            i  I
            3   57     3       mIndex  I
            4   57     4      methods  [Ljava/lang/reflect/Method;
           11   29     5            c  Ljava/lang/Class<*>;
           15   29     6  constructor  Ljava/lang/reflect/Constructor;
           16   29     7         args  [Ljava/lang/Object;
           28   29     8     initArgs  [Ljava/lang/Object;
           35   57     5         args  [Ljava/lang/Object;
           40   57     6       status  Z
           62   64     3         form  Ljava/text/MessageFormat;
           63   64     4       source  [Ljava/lang/Object;
           66   71     3           ie  Ljava/lang/InstantiationException;
           73   78     3         cnfe  Ljava/lang/ClassNotFoundException;
           80   85     3          iae  Ljava/lang/IllegalAccessException;
           87  133     3          ite  Ljava/lang/reflect/InvocationTargetException;
           92   93     4           le  Ljavax/security/auth/login/LoginException;
           95  104     4           le  Ljavax/security/auth/login/LoginException;
          110  133     4           le  Ljavax/security/auth/login/LoginException;
          105  110     5           sw  Ljava/io/StringWriter;
      Exception table:
        from    to  target  type
           2    50      58  Class java.lang.NoSuchMethodException
          51    57      58  Class java.lang.NoSuchMethodException
           2    50      65  Class java.lang.InstantiationException
          51    57      65  Class java.lang.InstantiationException
           2    50      72  Class java.lang.ClassNotFoundException
          51    57      72  Class java.lang.ClassNotFoundException
           2    50      79  Class java.lang.IllegalAccessException
          51    57      79  Class java.lang.IllegalAccessException
           2    50      86  Class java.lang.reflect.InvocationTargetException
          51    57      86  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
            Name  Flags
      methodName  

  static void checkPackageAccess(java.lang.Class<?>, java.security.AccessControlContext);
    descriptor: (Ljava/lang/Class;Ljava/security/AccessControlContext;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.lang.Class cls
        start local 1 // java.security.AccessControlContext context
         0: .line 944
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 945
            aload 2 /* sm */
            ifnull 15
         2: .line 946
            aload 0 /* cls */
            invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
            ifeq 9
         3: .line 947
            aload 0 /* cls */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: java.lang.Class java.security.AccessControlContext java.lang.SecurityManager top int int java.lang.Class[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* intf */
        start local 3 // java.lang.Class intf
         5: .line 948
            aload 3 /* intf */
            aload 1 /* context */
            invokestatic javax.security.auth.login.LoginContext.checkPackageAccess:(Ljava/lang/Class;Ljava/security/AccessControlContext;)V
        end local 3 // java.lang.Class intf
         6: .line 947
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 950
            return
         9: .line 953
      StackMap locals: java.lang.Class java.security.AccessControlContext java.lang.SecurityManager
      StackMap stack:
            aload 0 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
        10: .line 954
            aload 3 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* i */
        start local 4 // int i
        11: .line 955
            iload 4 /* i */
            iconst_m1
            if_icmpeq 15
        12: .line 956
            new javax.security.auth.login.LoginContext$6
            dup
            aload 2 /* sm */
            aload 3 /* name */
            iload 4 /* i */
            invokespecial javax.security.auth.login.LoginContext$6.<init>:(Ljava/lang/SecurityManager;Ljava/lang/String;I)V
        13: .line 961
            aload 1 /* context */
        14: .line 956
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
        end local 4 // int i
        end local 3 // java.lang.String name
        15: .line 964
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.security.AccessControlContext context
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0      cls  Ljava/lang/Class<*>;
            0   16     1  context  Ljava/security/AccessControlContext;
            1   16     2       sm  Ljava/lang/SecurityManager;
            5    6     3     intf  Ljava/lang/Class<*>;
           10   15     3     name  Ljava/lang/String;
           11   15     4        i  I
    Signature: (Ljava/lang/Class<*>;Ljava/security/AccessControlContext;)V
    MethodParameters:
         Name  Flags
      cls      
      context  
}
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$5  javax.security.auth.login.LoginContext$6  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
  javax.security.auth.login.LoginContext$5
  javax.security.auth.login.LoginContext$6
  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