public class sun.security.krb5.internal.ccache.FileCredentialsCache extends sun.security.krb5.internal.ccache.CredentialsCache implements sun.security.krb5.internal.ccache.FileCCacheConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.krb5.internal.ccache.FileCredentialsCache
  super_class: sun.security.krb5.internal.ccache.CredentialsCache
{
  public int version;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public sun.security.krb5.internal.ccache.Tag tag;
    descriptor: Lsun/security/krb5/internal/ccache/Tag;
    flags: (0x0001) ACC_PUBLIC

  public sun.security.krb5.PrincipalName primaryPrincipal;
    descriptor: Lsun/security/krb5/PrincipalName;
    flags: (0x0001) ACC_PUBLIC

  private java.util.Vector<sun.security.krb5.internal.ccache.Credentials> credentialsList;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Lsun/security/krb5/internal/ccache/Credentials;>;

  private static java.lang.String dir;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean DEBUG;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 63
            getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
            putstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized sun.security.krb5.internal.ccache.FileCredentialsCache acquireInstance(sun.security.krb5.PrincipalName, java.lang.String);
    descriptor: (Lsun/security/krb5/PrincipalName;Ljava/lang/String;)Lsun/security/krb5/internal/ccache/FileCredentialsCache;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.krb5.PrincipalName principal
        start local 1 // java.lang.String cache
         0: .line 68
            new sun.security.krb5.internal.ccache.FileCredentialsCache
            dup
            invokespecial sun.security.krb5.internal.ccache.FileCredentialsCache.<init>:()V
            astore 2 /* fcc */
        start local 2 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
         1: .line 69
            aload 1 /* cache */
            ifnonnull 4
         2: .line 70
            invokestatic sun.security.krb5.internal.ccache.FileCredentialsCache.getDefaultCacheName:()Ljava/lang/String;
            putstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
         3: .line 71
            goto 5
         4: .line 72
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache
      StackMap stack:
            aload 1 /* cache */
            invokestatic sun.security.krb5.internal.ccache.FileCredentialsCache.checkValidation:(Ljava/lang/String;)Ljava/lang/String;
            putstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
         5: .line 74
      StackMap locals:
      StackMap stack:
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            ifnull 6
            new java.io.File
            dup
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifne 7
         6: .line 76
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         7: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* principal */
            ifnull 9
         8: .line 79
            aload 2 /* fcc */
            aload 0 /* principal */
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
         9: .line 81
      StackMap locals:
      StackMap stack:
            aload 2 /* fcc */
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.load:(Ljava/lang/String;)V
        10: .line 82
            aload 2 /* fcc */
        11: areturn
        end local 2 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
        12: .line 83
      StackMap locals: sun.security.krb5.PrincipalName java.lang.String
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        13: .line 85
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 19
        14: .line 86
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        15: goto 19
        16: .line 88
      StackMap locals:
      StackMap stack: sun.security.krb5.KrbException
            astore 2 /* e */
        start local 2 // sun.security.krb5.KrbException e
        17: .line 90
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 19
        18: .line 91
            aload 2 /* e */
            invokevirtual sun.security.krb5.KrbException.printStackTrace:()V
        end local 2 // sun.security.krb5.KrbException e
        19: .line 94
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String cache
        end local 0 // sun.security.krb5.PrincipalName principal
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0  principal  Lsun/security/krb5/PrincipalName;
            0   20     1      cache  Ljava/lang/String;
            1   12     2        fcc  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
           13   15     2          e  Ljava/io/IOException;
           17   19     2          e  Lsun/security/krb5/KrbException;
      Exception table:
        from    to  target  type
           0     6      12  Class java.io.IOException
           7    11      12  Class java.io.IOException
           0     6      16  Class sun.security.krb5.KrbException
           7    11      16  Class sun.security.krb5.KrbException
    MethodParameters:
           Name  Flags
      principal  
      cache      

  public static sun.security.krb5.internal.ccache.FileCredentialsCache acquireInstance();
    descriptor: ()Lsun/security/krb5/internal/ccache/FileCredentialsCache;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 98
            aconst_null
            aconst_null
            invokestatic sun.security.krb5.internal.ccache.FileCredentialsCache.acquireInstance:(Lsun/security/krb5/PrincipalName;Ljava/lang/String;)Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static synchronized sun.security.krb5.internal.ccache.FileCredentialsCache New(sun.security.krb5.PrincipalName, java.lang.String);
    descriptor: (Lsun/security/krb5/PrincipalName;Ljava/lang/String;)Lsun/security/krb5/internal/ccache/FileCredentialsCache;
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.krb5.PrincipalName principal
        start local 1 // java.lang.String name
         0: .line 104
            new sun.security.krb5.internal.ccache.FileCredentialsCache
            dup
            invokespecial sun.security.krb5.internal.ccache.FileCredentialsCache.<init>:()V
            astore 2 /* fcc */
        start local 2 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
         1: .line 105
            aload 1 /* name */
            invokestatic sun.security.krb5.internal.ccache.FileCredentialsCache.checkValidation:(Ljava/lang/String;)Ljava/lang/String;
            putstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
         2: .line 106
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            ifnonnull 4
         3: .line 108
            aconst_null
            areturn
         4: .line 110
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache
      StackMap stack:
            aload 2 /* fcc */
            aload 0 /* principal */
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.init:(Lsun/security/krb5/PrincipalName;Ljava/lang/String;)V
         5: .line 111
            aload 2 /* fcc */
         6: areturn
        end local 2 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
         7: .line 113
      StackMap locals: sun.security.krb5.PrincipalName java.lang.String
      StackMap stack: java.io.IOException
            pop
            goto 9
         8: .line 115
      StackMap locals:
      StackMap stack: sun.security.krb5.KrbException
            pop
         9: .line 117
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // sun.security.krb5.PrincipalName principal
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0  principal  Lsun/security/krb5/PrincipalName;
            0   10     1       name  Ljava/lang/String;
            1    7     2        fcc  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
      Exception table:
        from    to  target  type
           0     3       7  Class java.io.IOException
           4     6       7  Class java.io.IOException
           0     3       8  Class sun.security.krb5.KrbException
           4     6       8  Class sun.security.krb5.KrbException
    MethodParameters:
           Name  Flags
      principal  
      name       

  static synchronized sun.security.krb5.internal.ccache.FileCredentialsCache New(sun.security.krb5.PrincipalName);
    descriptor: (Lsun/security/krb5/PrincipalName;)Lsun/security/krb5/internal/ccache/FileCredentialsCache;
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.krb5.PrincipalName principal
         0: .line 122
            new sun.security.krb5.internal.ccache.FileCredentialsCache
            dup
            invokespecial sun.security.krb5.internal.ccache.FileCredentialsCache.<init>:()V
            astore 1 /* fcc */
        start local 1 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
         1: .line 123
            invokestatic sun.security.krb5.internal.ccache.FileCredentialsCache.getDefaultCacheName:()Ljava/lang/String;
            putstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
         2: .line 124
            aload 1 /* fcc */
            aload 0 /* principal */
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.init:(Lsun/security/krb5/PrincipalName;Ljava/lang/String;)V
         3: .line 125
            aload 1 /* fcc */
         4: areturn
        end local 1 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
         5: .line 127
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         6: .line 128
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 12
         7: .line 129
            aload 1 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 1 // java.io.IOException e
         8: goto 12
         9: .line 131
      StackMap locals:
      StackMap stack: sun.security.krb5.KrbException
            astore 1 /* e */
        start local 1 // sun.security.krb5.KrbException e
        10: .line 132
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 12
        11: .line 133
            aload 1 /* e */
            invokevirtual sun.security.krb5.KrbException.printStackTrace:()V
        end local 1 // sun.security.krb5.KrbException e
        12: .line 137
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.krb5.PrincipalName principal
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0  principal  Lsun/security/krb5/PrincipalName;
            1    5     1        fcc  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            6    8     1          e  Ljava/io/IOException;
           10   12     1          e  Lsun/security/krb5/KrbException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
           0     4       9  Class sun.security.krb5.KrbException
    MethodParameters:
           Name  Flags
      principal  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
         0: .line 140
            aload 0 /* this */
            invokespecial sun.security.krb5.internal.ccache.CredentialsCache.<init>:()V
         1: .line 141
            return
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;

  boolean exists(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
        start local 1 // java.lang.String cache
         0: .line 144
            new java.io.File
            dup
            aload 1 /* cache */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* file */
        start local 2 // java.io.File file
         1: .line 145
            aload 2 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 3
         2: .line 146
            iconst_1
            ireturn
         3: .line 147
      StackMap locals: java.io.File
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.io.File file
        end local 1 // java.lang.String cache
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0    4     1  cache  Ljava/lang/String;
            1    4     2   file  Ljava/io/File;
    MethodParameters:
       Name  Flags
      cache  

  synchronized void init(sun.security.krb5.PrincipalName, java.lang.String);
    descriptor: (Lsun/security/krb5/PrincipalName;Ljava/lang/String;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
        start local 1 // sun.security.krb5.PrincipalName principal
        start local 2 // java.lang.String name
         0: .line 152
            aload 0 /* this */
            aload 1 /* principal */
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
         1: .line 153
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: new java.io.FileOutputStream
            dup
            aload 2 /* name */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 5 /* fos */
        start local 5 // java.io.FileOutputStream fos
         3: .line 154
            new sun.security.krb5.internal.ccache.CCacheOutputStream
            dup
            aload 5 /* fos */
            invokespecial sun.security.krb5.internal.ccache.CCacheOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 6 /* cos */
        start local 6 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
         4: .line 155
            aload 0 /* this */
            sipush 1283
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
         5: .line 156
            aload 6 /* cos */
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.writeHeader:(Lsun/security/krb5/PrincipalName;I)V
         6: .line 157
            aload 6 /* cos */
            ifnull 9
            aload 6 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
            goto 9
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache sun.security.krb5.PrincipalName java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 6 /* cos */
            ifnull 8
            aload 6 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
        end local 6 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
      StackMap locals:
      StackMap stack:
         9: aload 5 /* fos */
            ifnull 17
            aload 5 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 4
            aload 3
            ifnonnull 11
            aload 4
            astore 3
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 3
            aload 4
            if_acmpeq 12
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 5 /* fos */
            ifnull 13
            aload 5 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 5 // java.io.FileOutputStream fos
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 3
            ifnonnull 15
            aload 4
            astore 3
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3
            aload 4
            if_acmpeq 16
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
        17: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.load:(Ljava/lang/String;)V
        18: .line 159
            return
        end local 2 // java.lang.String name
        end local 1 // sun.security.krb5.PrincipalName principal
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0   19     1  principal  Lsun/security/krb5/PrincipalName;
            0   19     2       name  Ljava/lang/String;
            3   13     5        fos  Ljava/io/FileOutputStream;
            4    8     6        cos  Lsun/security/krb5/internal/ccache/CCacheOutputStream;
      Exception table:
        from    to  target  type
           4     6       7  any
           3     9      10  any
           2    14      14  any
    Exceptions:
      throws java.io.IOException, sun.security.krb5.KrbException
    MethodParameters:
           Name  Flags
      principal  
      name       

  synchronized void load(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
        start local 1 // java.lang.String name
         0: .line 163
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.io.FileInputStream
            dup
            aload 1 /* name */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 5 /* fis */
        start local 5 // java.io.FileInputStream fis
         2: .line 164
            new sun.security.krb5.internal.ccache.CCacheInputStream
            dup
            aload 5 /* fis */
            invokespecial sun.security.krb5.internal.ccache.CCacheInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* cis */
        start local 6 // sun.security.krb5.internal.ccache.CCacheInputStream cis
         3: .line 165
            aload 0 /* this */
            aload 6 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.readVersion:()I
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
         4: .line 166
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            sipush 1284
            if_icmpne 7
         5: .line 167
            aload 0 /* this */
            aload 6 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.readTag:()Lsun/security/krb5/internal/ccache/Tag;
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.tag:Lsun/security/krb5/internal/ccache/Tag;
         6: .line 168
            goto 10
         7: .line 169
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String top java.lang.Throwable java.lang.Throwable java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.tag:Lsun/security/krb5/internal/ccache/Tag;
         8: .line 170
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            sipush 1281
            if_icmpeq 9
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            sipush 1282
            if_icmpne 10
         9: .line 171
      StackMap locals:
      StackMap stack:
            aload 6 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.setNativeByteOrder:()V
        10: .line 174
      StackMap locals:
      StackMap stack:
            aload 6 /* cis */
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.readPrincipal:(I)Lsun/security/krb5/PrincipalName;
            astore 2 /* p */
        start local 2 // sun.security.krb5.PrincipalName p
        11: .line 176
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
            ifnull 14
        12: .line 177
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
            aload 2 /* p */
            invokevirtual sun.security.krb5.PrincipalName.match:(Lsun/security/krb5/PrincipalName;)Z
            ifne 15
        13: .line 178
            new java.io.IOException
            dup
            ldc "Primary principals don't match."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 181
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String sun.security.krb5.PrincipalName java.lang.Throwable java.lang.Throwable java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream
      StackMap stack:
            aload 0 /* this */
            aload 2 /* p */
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
        15: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
        16: .line 183
            goto 20
        17: .line 184
      StackMap locals:
      StackMap stack:
            aload 6 /* cis */
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.readCred:(I)Lsun/security/krb5/internal/ccache/Credentials;
            astore 7 /* cred */
        start local 7 // sun.security.krb5.internal.ccache.Credentials cred
        18: .line 185
            aload 7 /* cred */
            ifnull 20
        19: .line 186
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            aload 7 /* cred */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 7 // sun.security.krb5.internal.ccache.Credentials cred
        20: .line 183
      StackMap locals:
      StackMap stack:
            aload 6 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.available:()I
            ifgt 17
        21: .line 189
            aload 6 /* cis */
            ifnull 24
            aload 6 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.close:()V
            goto 24
        end local 2 // sun.security.krb5.PrincipalName p
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String top java.lang.Throwable java.lang.Throwable java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream
      StackMap stack: java.lang.Throwable
        22: astore 3
            aload 6 /* cis */
            ifnull 23
            aload 6 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.close:()V
        end local 6 // sun.security.krb5.internal.ccache.CCacheInputStream cis
      StackMap locals:
      StackMap stack:
        23: aload 3
            athrow
        start local 2 // sun.security.krb5.PrincipalName p
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String sun.security.krb5.PrincipalName java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack:
        24: aload 5 /* fis */
            ifnull 32
            aload 5 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
            goto 32
        end local 2 // sun.security.krb5.PrincipalName p
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String top java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack: java.lang.Throwable
        25: astore 4
            aload 3
            ifnonnull 26
            aload 4
            astore 3
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 3
            aload 4
            if_acmpeq 27
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 5 /* fis */
            ifnull 28
            aload 5 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 5 // java.io.FileInputStream fis
      StackMap locals:
      StackMap stack:
        28: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 4
            aload 3
            ifnonnull 30
            aload 4
            astore 3
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 3
            aload 4
            if_acmpeq 31
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 3
            athrow
        start local 2 // sun.security.krb5.PrincipalName p
        32: .line 190
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String sun.security.krb5.PrincipalName
      StackMap stack:
            return
        end local 2 // sun.security.krb5.PrincipalName p
        end local 1 // java.lang.String name
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0   33     1  name  Ljava/lang/String;
           11   22     2     p  Lsun/security/krb5/PrincipalName;
           24   25     2     p  Lsun/security/krb5/PrincipalName;
           32   33     2     p  Lsun/security/krb5/PrincipalName;
            2   28     5   fis  Ljava/io/FileInputStream;
            3   23     6   cis  Lsun/security/krb5/internal/ccache/CCacheInputStream;
           18   20     7  cred  Lsun/security/krb5/internal/ccache/Credentials;
      Exception table:
        from    to  target  type
           3    21      22  any
           2    24      25  any
           1    29      29  any
    Exceptions:
      throws java.io.IOException, sun.security.krb5.KrbException
    MethodParameters:
      Name  Flags
      name  

  public synchronized void update(sun.security.krb5.internal.ccache.Credentials);
    descriptor: (Lsun/security/krb5/internal/ccache/Credentials;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
        start local 1 // sun.security.krb5.internal.ccache.Credentials c
         0: .line 201
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            ifnull 29
         1: .line 202
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            invokevirtual java.util.Vector.isEmpty:()Z
            ifeq 4
         2: .line 203
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            aload 1 /* c */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         3: .line 204
            goto 29
         4: .line 205
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* tmp */
        start local 2 // sun.security.krb5.internal.ccache.Credentials tmp
         5: .line 206
            iconst_0
            istore 3 /* matched */
        start local 3 // boolean matched
         6: .line 208
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 24
         8: .line 209
      StackMap locals: sun.security.krb5.internal.ccache.Credentials int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast sun.security.krb5.internal.ccache.Credentials
            astore 2 /* tmp */
         9: .line 210
            aload 0 /* this */
            aload 1 /* c */
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
        10: .line 211
            aload 2 /* tmp */
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
        11: .line 210
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.match:([Ljava/lang/String;[Ljava/lang/String;)Z
        12: .line 211
            ifeq 23
        13: .line 212
            aload 1 /* c */
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
        14: .line 213
            aload 2 /* tmp */
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
        15: .line 212
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
        16: .line 213
            ifeq 23
        17: .line 214
            iconst_1
            istore 3 /* matched */
        18: .line 215
            aload 1 /* c */
            getfield sun.security.krb5.internal.ccache.Credentials.endtime:Lsun/security/krb5/internal/KerberosTime;
            invokevirtual sun.security.krb5.internal.KerberosTime.getTime:()J
            aload 2 /* tmp */
            getfield sun.security.krb5.internal.ccache.Credentials.endtime:Lsun/security/krb5/internal/KerberosTime;
            invokevirtual sun.security.krb5.internal.KerberosTime.getTime:()J
            lcmp
            iflt 23
        19: .line 216
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 21
        20: .line 217
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc " >>> FileCredentialsCache Ticket matched, overwrite the old one."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.removeElementAt:(I)V
        22: .line 222
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            aload 1 /* c */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        23: .line 208
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 8
        end local 4 // int i
        25: .line 226
            iload 3 /* matched */
            ifne 29
        26: .line 227
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 28
        27: .line 228
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc " >>> FileCredentialsCache Ticket not exactly matched, add new one into cache."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            aload 1 /* c */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 3 // boolean matched
        end local 2 // sun.security.krb5.internal.ccache.Credentials tmp
        29: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.krb5.internal.ccache.Credentials c
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0     this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0   30     1        c  Lsun/security/krb5/internal/ccache/Credentials;
            5   29     2      tmp  Lsun/security/krb5/internal/ccache/Credentials;
            6   29     3  matched  Z
            7   25     4        i  I
    MethodParameters:
      Name  Flags
      c     

  public synchronized sun.security.krb5.PrincipalName getPrimaryPrincipal();
    descriptor: ()Lsun/security/krb5/PrincipalName;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
         0: .line 240
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
            areturn
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;

  public synchronized void save();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
         0: .line 248
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new java.io.FileOutputStream
            dup
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fos */
        start local 3 // java.io.FileOutputStream fos
         2: .line 249
            new sun.security.krb5.internal.ccache.CCacheOutputStream
            dup
            aload 3 /* fos */
            invokespecial sun.security.krb5.internal.ccache.CCacheOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* cos */
        start local 4 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
         3: .line 250
            aload 4 /* cos */
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.writeHeader:(Lsun/security/krb5/PrincipalName;I)V
         4: .line 251
            aconst_null
            astore 5 /* tmp */
        start local 5 // sun.security.krb5.internal.ccache.Credentials[] tmp
         5: .line 252
            aload 0 /* this */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.getCredsList:()[Lsun/security/krb5/internal/ccache/Credentials;
            dup
            astore 5 /* tmp */
            ifnull 11
         6: .line 253
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 254
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.Throwable java.lang.Throwable java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream sun.security.krb5.internal.ccache.Credentials[] int
      StackMap stack:
            aload 4 /* cos */
            aload 5 /* tmp */
            iload 6 /* i */
            aaload
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.addCreds:(Lsun/security/krb5/internal/ccache/Credentials;)V
         9: .line 253
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 5 /* tmp */
            arraylength
            if_icmplt 8
        end local 6 // int i
        end local 5 // sun.security.krb5.internal.ccache.Credentials[] tmp
        11: .line 257
      StackMap locals:
      StackMap stack:
            aload 4 /* cos */
            ifnull 14
            aload 4 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 1
            aload 4 /* cos */
            ifnull 13
            aload 4 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
        end local 4 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
      StackMap locals:
      StackMap stack:
        13: aload 1
            athrow
      StackMap locals:
      StackMap stack:
        14: aload 3 /* fos */
            ifnull 22
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 2
            aload 1
            ifnonnull 16
            aload 2
            astore 1
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 1
            aload 2
            if_acmpeq 17
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 3 /* fos */
            ifnull 18
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 3 // java.io.FileOutputStream fos
      StackMap locals:
      StackMap stack:
        18: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 2
            aload 1
            ifnonnull 20
            aload 2
            astore 1
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 1
            aload 2
            if_acmpeq 21
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 1
            athrow
        22: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            2   18     3   fos  Ljava/io/FileOutputStream;
            3   13     4   cos  Lsun/security/krb5/internal/ccache/CCacheOutputStream;
            5   11     5   tmp  [Lsun/security/krb5/internal/ccache/Credentials;
            7   11     6     i  I
      Exception table:
        from    to  target  type
           3    11      12  any
           2    14      15  any
           1    19      19  any
    Exceptions:
      throws java.io.IOException, sun.security.krb5.Asn1Exception

  boolean match(java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
        start local 1 // java.lang.String[] s1
        start local 2 // java.lang.String[] s2
         0: .line 261
            aload 1 /* s1 */
            arraylength
            aload 2 /* s2 */
            arraylength
            if_icmpeq 2
         1: .line 262
            iconst_0
            ireturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 265
      StackMap locals: int
      StackMap stack:
            aload 1 /* s1 */
            iload 3 /* i */
            aaload
            aload 2 /* s2 */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         5: .line 266
            iconst_0
            ireturn
         6: .line 264
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* s1 */
            arraylength
            if_icmplt 4
        end local 3 // int i
         8: .line 270
            iconst_1
            ireturn
        end local 2 // java.lang.String[] s2
        end local 1 // java.lang.String[] s1
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0    9     1    s1  [Ljava/lang/String;
            0    9     2    s2  [Ljava/lang/String;
            3    8     3     i  I
    MethodParameters:
      Name  Flags
      s1    
      s2    

  public synchronized sun.security.krb5.internal.ccache.Credentials[] getCredsList();
    descriptor: ()[Lsun/security/krb5/internal/ccache/Credentials;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
         0: .line 277
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            ifnull 1
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            invokevirtual java.util.Vector.isEmpty:()Z
            ifeq 2
         1: .line 278
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            anewarray sun.security.krb5.internal.ccache.Credentials
            astore 1 /* tmp */
        start local 1 // sun.security.krb5.internal.ccache.Credentials[] tmp
         3: .line 281
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 282
      StackMap locals: sun.security.krb5.internal.ccache.Credentials[] int
      StackMap stack:
            aload 1 /* tmp */
            iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast sun.security.krb5.internal.ccache.Credentials
            aastore
         6: .line 281
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 5
        end local 2 // int i
         8: .line 284
            aload 1 /* tmp */
            areturn
        end local 1 // sun.security.krb5.internal.ccache.Credentials[] tmp
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            3    9     1   tmp  [Lsun/security/krb5/internal/ccache/Credentials;
            4    8     2     i  I

  public sun.security.krb5.internal.ccache.Credentials getCreds(sun.security.krb5.internal.LoginOptions, sun.security.krb5.PrincipalName);
    descriptor: (Lsun/security/krb5/internal/LoginOptions;Lsun/security/krb5/PrincipalName;)Lsun/security/krb5/internal/ccache/Credentials;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
        start local 1 // sun.security.krb5.internal.LoginOptions options
        start local 2 // sun.security.krb5.PrincipalName sname
         0: .line 290
            aload 1 /* options */
            ifnonnull 2
         1: .line 291
            aload 0 /* this */
            aload 2 /* sname */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.getCreds:(Lsun/security/krb5/PrincipalName;)Lsun/security/krb5/internal/ccache/Credentials;
            areturn
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.getCredsList:()[Lsun/security/krb5/internal/ccache/Credentials;
            astore 3 /* list */
        start local 3 // sun.security.krb5.internal.ccache.Credentials[] list
         3: .line 294
            aload 3 /* list */
            ifnonnull 5
         4: .line 295
            aconst_null
            areturn
         5: .line 297
      StackMap locals: sun.security.krb5.internal.ccache.Credentials[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 11
         7: .line 298
      StackMap locals: int
      StackMap stack:
            aload 2 /* sname */
            aload 3 /* list */
            iload 4 /* i */
            aaload
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.match:(Lsun/security/krb5/PrincipalName;)Z
            ifeq 10
         8: .line 299
            aload 3 /* list */
            iload 4 /* i */
            aaload
            getfield sun.security.krb5.internal.ccache.Credentials.flags:Lsun/security/krb5/internal/TicketFlags;
            aload 1 /* options */
            invokevirtual sun.security.krb5.internal.TicketFlags.match:(Lsun/security/krb5/internal/LoginOptions;)Z
            ifeq 10
         9: .line 300
            aload 3 /* list */
            iload 4 /* i */
            aaload
            areturn
        10: .line 297
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 3 /* list */
            arraylength
            if_icmplt 7
        end local 4 // int i
        12: .line 305
            aconst_null
            areturn
        end local 3 // sun.security.krb5.internal.ccache.Credentials[] list
        end local 2 // sun.security.krb5.PrincipalName sname
        end local 1 // sun.security.krb5.internal.LoginOptions options
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0   13     1  options  Lsun/security/krb5/internal/LoginOptions;
            0   13     2    sname  Lsun/security/krb5/PrincipalName;
            3   13     3     list  [Lsun/security/krb5/internal/ccache/Credentials;
            6   12     4        i  I
    MethodParameters:
         Name  Flags
      options  
      sname    

  public sun.security.krb5.internal.ccache.Credentials getCreds(sun.security.krb5.PrincipalName);
    descriptor: (Lsun/security/krb5/PrincipalName;)Lsun/security/krb5/internal/ccache/Credentials;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
        start local 1 // sun.security.krb5.PrincipalName sname
         0: .line 315
            aload 0 /* this */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.getCredsList:()[Lsun/security/krb5/internal/ccache/Credentials;
            astore 2 /* list */
        start local 2 // sun.security.krb5.internal.ccache.Credentials[] list
         1: .line 316
            aload 2 /* list */
            ifnonnull 3
         2: .line 317
            aconst_null
            areturn
         3: .line 319
      StackMap locals: sun.security.krb5.internal.ccache.Credentials[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 320
      StackMap locals: int
      StackMap stack:
            aload 1 /* sname */
            aload 2 /* list */
            iload 3 /* i */
            aaload
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.match:(Lsun/security/krb5/PrincipalName;)Z
            ifeq 7
         6: .line 321
            aload 2 /* list */
            iload 3 /* i */
            aaload
            areturn
         7: .line 319
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* list */
            arraylength
            if_icmplt 5
        end local 3 // int i
         9: .line 325
            aconst_null
            areturn
        end local 2 // sun.security.krb5.internal.ccache.Credentials[] list
        end local 1 // sun.security.krb5.PrincipalName sname
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0   10     1  sname  Lsun/security/krb5/PrincipalName;
            1   10     2   list  [Lsun/security/krb5/internal/ccache/Credentials;
            4    9     3      i  I
    MethodParameters:
       Name  Flags
      sname  

  public sun.security.krb5.internal.ccache.Credentials getDefaultCreds();
    descriptor: ()Lsun/security/krb5/internal/ccache/Credentials;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
         0: .line 329
            aload 0 /* this */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.getCredsList:()[Lsun/security/krb5/internal/ccache/Credentials;
            astore 1 /* list */
        start local 1 // sun.security.krb5.internal.ccache.Credentials[] list
         1: .line 330
            aload 1 /* list */
            ifnonnull 3
         2: .line 331
            aconst_null
            areturn
         3: .line 333
      StackMap locals: sun.security.krb5.internal.ccache.Credentials[]
      StackMap stack:
            aload 1 /* list */
            arraylength
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         4: goto 10
         5: .line 334
      StackMap locals: int
      StackMap stack:
            aload 1 /* list */
            iload 2 /* i */
            aaload
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
            ldc "krbtgt"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 335
            aload 1 /* list */
            iload 2 /* i */
            aaload
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
            astore 3 /* nameStrings */
        start local 3 // java.lang.String[] nameStrings
         7: .line 337
            aload 3 /* nameStrings */
            iconst_1
            aaload
            aload 1 /* list */
            iload 2 /* i */
            aaload
            getfield sun.security.krb5.internal.ccache.Credentials.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.getRealm:()Lsun/security/krb5/Realm;
            invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 338
            aload 1 /* list */
            iload 2 /* i */
            aaload
            areturn
        end local 3 // java.lang.String[] nameStrings
         9: .line 333
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            ifge 5
        end local 2 // int i
        11: .line 343
            aconst_null
            areturn
        end local 1 // sun.security.krb5.internal.ccache.Credentials[] list
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            1   12     1         list  [Lsun/security/krb5/internal/ccache/Credentials;
            4   11     2            i  I
            7    9     3  nameStrings  [Ljava/lang/String;

  public static java.lang.String getDefaultCacheName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=0
         0: .line 358
            ldc "krb5cc"
            astore 0 /* stdCacheNameComponent */
        start local 0 // java.lang.String stdCacheNameComponent
         1: .line 364
            new sun.security.krb5.internal.ccache.FileCredentialsCache$1
            dup
            invokespecial sun.security.krb5.internal.ccache.FileCredentialsCache$1.<init>:()V
         2: .line 363
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* name */
        start local 1 // java.lang.String name
         3: .line 376
            aload 1 /* name */
            ifnull 7
         4: .line 377
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 6
         5: .line 378
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc ">>>KinitOptions cache name is "
            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;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 380
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* name */
            areturn
         7: .line 386
      StackMap locals:
      StackMap stack:
            new sun.security.action.GetPropertyAction
            dup
            ldc "os.name"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         8: .line 385
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         9: .line 384
            astore 2 /* osname */
        start local 2 // java.lang.String osname
        10: .line 399
            aload 2 /* osname */
            ifnull 23
            aload 2 /* osname */
            ldc "Windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 23
        11: .line 400
            invokestatic jdk.internal.misc.VM.getuid:()J
            lstore 3 /* uid */
        start local 3 // long uid
        12: .line 401
            lload 3 /* uid */
            ldc -1
            lcmp
            ifeq 21
        13: .line 402
            new java.lang.StringBuilder
            dup
            getstatic java.io.File.separator:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "tmp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 403
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* stdCacheNameComponent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 3 /* uid */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        15: .line 402
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
        16: .line 404
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 20
        17: .line 405
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc ">>>KinitOptions cache name is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 406
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 405
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        20: .line 408
      StackMap locals: java.lang.String long
      StackMap stack:
            aload 1 /* name */
            areturn
        21: .line 410
      StackMap locals:
      StackMap stack:
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 23
        22: .line 411
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Error in obtaining uid for Unix platforms Using user's home directory"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // long uid
        23: .line 422
      StackMap locals:
      StackMap stack:
            new sun.security.action.GetPropertyAction
            dup
            ldc "user.name"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        24: .line 421
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
        25: .line 420
            astore 3 /* user_name */
        start local 3 // java.lang.String user_name
        26: .line 426
            new sun.security.action.GetPropertyAction
            dup
            ldc "user.home"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        27: .line 425
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
        28: .line 424
            astore 4 /* user_home */
        start local 4 // java.lang.String user_home
        29: .line 428
            aload 4 /* user_home */
            ifnonnull 33
        30: .line 431
            new sun.security.action.GetPropertyAction
            dup
            ldc "user.dir"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        31: .line 430
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
        32: .line 429
            astore 4 /* user_home */
        33: .line 434
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* user_name */
            ifnull 38
        34: .line 435
            new java.lang.StringBuilder
            dup
            aload 4 /* user_home */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 436
            aload 0 /* stdCacheNameComponent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* user_name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 435
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
        37: .line 437
            goto 39
        38: .line 438
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* user_home */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* stdCacheNameComponent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
        39: .line 441
      StackMap locals:
      StackMap stack:
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 41
        40: .line 442
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc ">>>KinitOptions cache name is "
            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;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        41: .line 445
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 4 // java.lang.String user_home
        end local 3 // java.lang.String user_name
        end local 2 // java.lang.String osname
        end local 1 // java.lang.String name
        end local 0 // java.lang.String stdCacheNameComponent
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            1   42     0  stdCacheNameComponent  Ljava/lang/String;
            3   42     1                   name  Ljava/lang/String;
           10   42     2                 osname  Ljava/lang/String;
           12   23     3                    uid  J
           26   42     3              user_name  Ljava/lang/String;
           29   42     4              user_home  Ljava/lang/String;

  public static java.lang.String checkValidation(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String name
         0: .line 449
            aconst_null
            astore 1 /* fullname */
        start local 1 // java.lang.String fullname
         1: .line 450
            aload 0 /* name */
            ifnonnull 3
         2: .line 451
            aconst_null
            areturn
         3: .line 455
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* name */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 1 /* fullname */
         4: .line 456
            new java.io.File
            dup
            aload 1 /* fullname */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* fCheck */
        start local 2 // java.io.File fCheck
         5: .line 457
            aload 2 /* fCheck */
            invokevirtual java.io.File.exists:()Z
            ifne 10
         6: .line 459
            new java.io.File
            dup
            aload 2 /* fCheck */
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* temp */
        start local 3 // java.io.File temp
         7: .line 461
            aload 3 /* temp */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 9
         8: .line 462
            aconst_null
            astore 1 /* fullname */
         9: .line 463
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            aconst_null
            astore 3
        end local 3 // java.io.File temp
        10: .line 465
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2
        end local 2 // java.io.File fCheck
        11: .line 467
            goto 14
      StackMap locals: java.lang.String java.lang.String
      StackMap stack: java.io.IOException
        12: pop
        13: .line 468
            aconst_null
            astore 1 /* fullname */
        14: .line 470
      StackMap locals:
      StackMap stack:
            aload 1 /* fullname */
            areturn
        end local 1 // java.lang.String fullname
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      name  Ljava/lang/String;
            1   15     1  fullname  Ljava/lang/String;
            5   11     2    fCheck  Ljava/io/File;
            7   10     3      temp  Ljava/io/File;
      Exception table:
        from    to  target  type
           3    11      12  Class java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.String exec(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.lang.String c
         0: .line 475
            new java.util.StringTokenizer
            dup
            aload 0 /* c */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 1 /* st */
        start local 1 // java.util.StringTokenizer st
         1: .line 476
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* v */
        start local 2 // java.util.Vector v
         2: .line 477
            goto 4
         3: .line 478
      StackMap locals: java.util.StringTokenizer java.util.Vector
      StackMap stack:
            aload 2 /* v */
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         4: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 3
         5: .line 480
            aload 2 /* v */
            invokevirtual java.util.Vector.size:()I
            anewarray java.lang.String
            astore 3 /* command */
        start local 3 // java.lang.String[] command
         6: .line 481
            aload 2 /* v */
            aload 3 /* command */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
         7: .line 486
            new sun.security.krb5.internal.ccache.FileCredentialsCache$2
            dup
            aload 3 /* command */
            invokespecial sun.security.krb5.internal.ccache.FileCredentialsCache$2.<init>:([Ljava/lang/String;)V
         8: .line 485
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Process
         9: .line 484
            astore 4 /* p */
        start local 4 // java.lang.Process p
        10: .line 498
            aload 4 /* p */
            ifnonnull 12
        11: .line 500
            aconst_null
            areturn
        12: .line 504
      StackMap locals: java.lang.String[] java.lang.Process
      StackMap stack:
            new java.io.BufferedReader
            dup
        13: .line 505
            new java.io.InputStreamReader
            dup
            aload 4 /* p */
            invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
            ldc "8859_1"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
        14: .line 504
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        15: .line 503
            astore 5 /* commandResult */
        start local 5 // java.io.BufferedReader commandResult
        16: .line 506
            aconst_null
            astore 6 /* s1 */
        start local 6 // java.lang.String s1
        17: .line 507
            aload 3 /* command */
            arraylength
            iconst_1
            if_icmpne 29
        18: .line 508
            aload 3 /* command */
            iconst_0
            aaload
            ldc "/usr/bin/env"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        19: .line 509
            goto 27
        20: .line 510
      StackMap locals: java.io.BufferedReader java.lang.String
      StackMap stack:
            aload 6 /* s1 */
            invokevirtual java.lang.String.length:()I
            bipush 11
            if_icmplt 27
        21: .line 511
            aload 6 /* s1 */
            iconst_0
            bipush 11
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        22: .line 512
            ldc "KRB5CCNAME="
        23: .line 511
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
        24: .line 512
            ifeq 27
        25: .line 513
            aload 6 /* s1 */
            bipush 11
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* s1 */
        26: .line 514
            goto 30
        27: .line 509
      StackMap locals:
      StackMap stack:
            aload 5 /* commandResult */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 6 /* s1 */
            ifnonnull 20
        28: .line 518
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 5 /* commandResult */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* s1 */
        30: .line 519
      StackMap locals:
      StackMap stack:
            aload 5 /* commandResult */
            invokevirtual java.io.BufferedReader.close:()V
        31: .line 520
            aload 6 /* s1 */
        32: areturn
        end local 6 // java.lang.String s1
        end local 5 // java.io.BufferedReader commandResult
        end local 4 // java.lang.Process p
        33: .line 521
      StackMap locals: java.lang.String java.util.StringTokenizer java.util.Vector java.lang.String[]
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        34: .line 522
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 36
        35: .line 523
            aload 4 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 4 // java.lang.Exception e
        36: .line 526
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.String[] command
        end local 2 // java.util.Vector v
        end local 1 // java.util.StringTokenizer st
        end local 0 // java.lang.String c
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0              c  Ljava/lang/String;
            1   37     1             st  Ljava/util/StringTokenizer;
            2   37     2              v  Ljava/util/Vector<Ljava/lang/String;>;
            6   37     3        command  [Ljava/lang/String;
           10   33     4              p  Ljava/lang/Process;
           16   33     5  commandResult  Ljava/io/BufferedReader;
           17   33     6             s1  Ljava/lang/String;
           34   36     4              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7    11      33  Class java.lang.Exception
          12    32      33  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "FileCredentialsCache.java"
NestMembers:
  sun.security.krb5.internal.ccache.FileCredentialsCache$1  sun.security.krb5.internal.ccache.FileCredentialsCache$2
InnerClasses:
  sun.security.krb5.internal.ccache.FileCredentialsCache$1
  sun.security.krb5.internal.ccache.FileCredentialsCache$2