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 64
            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 69
            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 70
            aload 1 /* cache */
            ifnonnull 4
         2: .line 71
            invokestatic sun.security.krb5.internal.ccache.FileCredentialsCache.getDefaultCacheName:()Ljava/lang/String;
            putstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
         3: .line 72
            goto 5
         4: .line 73
      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 75
      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 77
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         7: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* principal */
            ifnull 9
         8: .line 80
            aload 2 /* fcc */
            aload 0 /* principal */
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
         9: .line 82
      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 83
            aload 2 /* fcc */
        11: areturn
        end local 2 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
        12: .line 84
      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 86
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 19
        14: .line 87
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        15: goto 19
        16: .line 89
      StackMap locals:
      StackMap stack: sun.security.krb5.KrbException
            astore 2 /* e */
        start local 2 // sun.security.krb5.KrbException e
        17: .line 91
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 19
        18: .line 92
            aload 2 /* e */
            invokevirtual sun.security.krb5.KrbException.printStackTrace:()V
        end local 2 // sun.security.krb5.KrbException e
        19: .line 95
      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 99
            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 105
            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 106
            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 107
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
            ifnonnull 4
         3: .line 109
            aconst_null
            areturn
         4: .line 111
      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 112
            aload 2 /* fcc */
         6: areturn
        end local 2 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
         7: .line 114
      StackMap locals: sun.security.krb5.PrincipalName java.lang.String
      StackMap stack: java.io.IOException
            pop
            goto 9
         8: .line 116
      StackMap locals:
      StackMap stack: sun.security.krb5.KrbException
            pop
         9: .line 118
      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 123
            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 124
            invokestatic sun.security.krb5.internal.ccache.FileCredentialsCache.getDefaultCacheName:()Ljava/lang/String;
            putstatic sun.security.krb5.internal.ccache.FileCredentialsCache.cacheName:Ljava/lang/String;
         2: .line 125
            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 126
            aload 1 /* fcc */
         4: areturn
        end local 1 // sun.security.krb5.internal.ccache.FileCredentialsCache fcc
         5: .line 128
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         6: .line 129
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 12
         7: .line 130
            aload 1 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 1 // java.io.IOException e
         8: goto 12
         9: .line 132
      StackMap locals:
      StackMap stack: sun.security.krb5.KrbException
            astore 1 /* e */
        start local 1 // sun.security.krb5.KrbException e
        10: .line 133
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 12
        11: .line 134
            aload 1 /* e */
            invokevirtual sun.security.krb5.KrbException.printStackTrace:()V
        end local 1 // sun.security.krb5.KrbException e
        12: .line 138
      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 141
            aload 0 /* this */
            invokespecial sun.security.krb5.internal.ccache.CredentialsCache.<init>:()V
         1: .line 142
            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 145
            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 146
            aload 2 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 3
         2: .line 147
            iconst_1
            ireturn
         3: .line 148
      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 153
            aload 0 /* this */
            aload 1 /* principal */
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
         1: .line 154
            aconst_null
            astore 3 /* fos */
        start local 3 // java.io.FileOutputStream fos
         2: .line 155
            aconst_null
            astore 4 /* cos */
        start local 4 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
         3: .line 157
            new java.io.FileOutputStream
            dup
            aload 2 /* name */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fos */
         4: .line 158
            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 */
         5: .line 159
            aload 0 /* this */
            sipush 1283
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
         6: .line 160
            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
         7: .line 161
            goto 19
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache sun.security.krb5.PrincipalName java.lang.String java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 163
            aload 4 /* cos */
            ifnull 16
        10: .line 164
            aload 4 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
        11: .line 165
            goto 16
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache sun.security.krb5.PrincipalName java.lang.String java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream java.lang.Throwable
      StackMap stack: java.lang.Throwable
        12: astore 6
        13: .line 166
            aload 3 /* fos */
            ifnull 15
        14: .line 167
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        15: .line 168
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        16: .line 166
      StackMap locals:
      StackMap stack:
            aload 3 /* fos */
            ifnull 18
        17: .line 167
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        18: .line 169
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        19: .line 163
      StackMap locals:
      StackMap stack:
            aload 4 /* cos */
            ifnull 26
        20: .line 164
            aload 4 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
        21: .line 165
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 6
        23: .line 166
            aload 3 /* fos */
            ifnull 25
        24: .line 167
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        25: .line 168
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache sun.security.krb5.PrincipalName java.lang.String java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        26: .line 166
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache sun.security.krb5.PrincipalName java.lang.String java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream
      StackMap stack:
            aload 3 /* fos */
            ifnull 28
        27: .line 167
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        28: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.load:(Ljava/lang/String;)V
        29: .line 172
            return
        end local 4 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
        end local 3 // java.io.FileOutputStream fos
        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   30     0       this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0   30     1  principal  Lsun/security/krb5/PrincipalName;
            0   30     2       name  Ljava/lang/String;
            2   30     3        fos  Ljava/io/FileOutputStream;
            3   30     4        cos  Lsun/security/krb5/internal/ccache/CCacheOutputStream;
      Exception table:
        from    to  target  type
           3     8       8  any
           9    12      12  any
          19    22      22  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 176
            aconst_null
            astore 3 /* fis */
        start local 3 // java.io.FileInputStream fis
         1: .line 177
            aconst_null
            astore 4 /* cis */
        start local 4 // sun.security.krb5.internal.ccache.CCacheInputStream cis
         2: .line 179
            new java.io.FileInputStream
            dup
            aload 1 /* name */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fis */
         3: .line 180
            new sun.security.krb5.internal.ccache.CCacheInputStream
            dup
            aload 3 /* fis */
            invokespecial sun.security.krb5.internal.ccache.CCacheInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* cis */
         4: .line 181
            aload 0 /* this */
            aload 4 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.readVersion:()I
            putfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
         5: .line 182
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            sipush 1284
            if_icmpne 8
         6: .line 183
            aload 0 /* this */
            aload 4 /* 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;
         7: .line 184
            goto 11
         8: .line 185
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String top 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;
         9: .line 186
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            sipush 1281
            if_icmpeq 10
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.version:I
            sipush 1282
            if_icmpne 11
        10: .line 187
      StackMap locals:
      StackMap stack:
            aload 4 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.setNativeByteOrder:()V
        11: .line 190
      StackMap locals:
      StackMap stack:
            aload 4 /* 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
        12: .line 192
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.primaryPrincipal:Lsun/security/krb5/PrincipalName;
            ifnull 15
        13: .line 193
            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 16
        14: .line 194
            new java.io.IOException
            dup
            ldc "Primary principals don't match."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 197
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String sun.security.krb5.PrincipalName 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;
        16: .line 198
      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;
        17: .line 199
            goto 21
        18: .line 200
      StackMap locals:
      StackMap stack:
            aload 4 /* 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 5 /* cred */
        start local 5 // sun.security.krb5.internal.ccache.Credentials cred
        19: .line 201
            aload 5 /* cred */
            ifnull 21
        20: .line 202
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            aload 5 /* cred */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 5 // sun.security.krb5.internal.ccache.Credentials cred
        21: .line 199
      StackMap locals:
      StackMap stack:
            aload 4 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.available:()I
            ifgt 18
        22: .line 205
            goto 34
        end local 2 // sun.security.krb5.PrincipalName p
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String top java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream
      StackMap stack: java.lang.Throwable
        23: astore 6
        24: .line 207
            aload 4 /* cis */
            ifnull 31
        25: .line 208
            aload 4 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.close:()V
        26: .line 209
            goto 31
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String top java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream top java.lang.Throwable
      StackMap stack: java.lang.Throwable
        27: astore 7
        28: .line 210
            aload 3 /* fis */
            ifnull 30
        29: .line 211
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        30: .line 212
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        31: .line 210
      StackMap locals:
      StackMap stack:
            aload 3 /* fis */
            ifnull 33
        32: .line 211
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        33: .line 213
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        start local 2 // sun.security.krb5.PrincipalName p
        34: .line 207
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String sun.security.krb5.PrincipalName java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream
      StackMap stack:
            aload 4 /* cis */
            ifnull 41
        35: .line 208
            aload 4 /* cis */
            invokevirtual sun.security.krb5.internal.ccache.CCacheInputStream.close:()V
        36: .line 209
            goto 41
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 7
        38: .line 210
            aload 3 /* fis */
            ifnull 40
        39: .line 211
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        40: .line 212
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String sun.security.krb5.PrincipalName java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        41: .line 210
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.lang.String sun.security.krb5.PrincipalName java.io.FileInputStream sun.security.krb5.internal.ccache.CCacheInputStream
      StackMap stack:
            aload 3 /* fis */
            ifnull 43
        42: .line 211
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        43: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.security.krb5.internal.ccache.CCacheInputStream cis
        end local 3 // java.io.FileInputStream fis
        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   44     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            0   44     1  name  Ljava/lang/String;
           12   23     2     p  Lsun/security/krb5/PrincipalName;
           34   44     2     p  Lsun/security/krb5/PrincipalName;
            1   44     3   fis  Ljava/io/FileInputStream;
            2   44     4   cis  Lsun/security/krb5/internal/ccache/CCacheInputStream;
           19   21     5  cred  Lsun/security/krb5/internal/ccache/Credentials;
      Exception table:
        from    to  target  type
           2    23      23  any
          24    27      27  any
          34    37      37  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 225
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            ifnull 29
         1: .line 226
            aload 0 /* this */
            getfield sun.security.krb5.internal.ccache.FileCredentialsCache.credentialsList:Ljava/util/Vector;
            invokevirtual java.util.Vector.isEmpty:()Z
            ifeq 4
         2: .line 227
            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 228
            goto 29
         4: .line 229
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* tmp */
        start local 2 // sun.security.krb5.internal.ccache.Credentials tmp
         5: .line 230
            iconst_0
            istore 3 /* matched */
        start local 3 // boolean matched
         6: .line 232
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 24
         8: .line 233
      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 234
            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 235
            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 234
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.match:([Ljava/lang/String;[Ljava/lang/String;)Z
        12: .line 235
            ifeq 23
        13: .line 236
            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 237
            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 236
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
        16: .line 237
            ifeq 23
        17: .line 238
            iconst_1
            istore 3 /* matched */
        18: .line 239
            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 240
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 21
        20: .line 241
            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 245
      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 246
            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 232
      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 250
            iload 3 /* matched */
            ifne 29
        26: .line 251
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 28
        27: .line 252
            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 257
      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 261
      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 264
            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 272
            aconst_null
            astore 1 /* fos */
        start local 1 // java.io.FileOutputStream fos
         1: .line 273
            aconst_null
            astore 2 /* cos */
        start local 2 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
         2: .line 275
            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 1 /* fos */
         3: .line 276
            new sun.security.krb5.internal.ccache.CCacheOutputStream
            dup
            aload 1 /* fos */
            invokespecial sun.security.krb5.internal.ccache.CCacheOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 2 /* cos */
         4: .line 277
            aload 2 /* 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
         5: .line 278
            aconst_null
            astore 3 /* tmp */
        start local 3 // sun.security.krb5.internal.ccache.Credentials[] tmp
         6: .line 279
            aload 0 /* this */
            invokevirtual sun.security.krb5.internal.ccache.FileCredentialsCache.getCredsList:()[Lsun/security/krb5/internal/ccache/Credentials;
            dup
            astore 3 /* tmp */
            ifnull 24
         7: .line 280
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 11
         9: .line 281
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream sun.security.krb5.internal.ccache.Credentials[] int
      StackMap stack:
            aload 2 /* cos */
            aload 3 /* tmp */
            iload 4 /* i */
            aaload
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.addCreds:(Lsun/security/krb5/internal/ccache/Credentials;)V
        10: .line 280
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 3 /* tmp */
            arraylength
            if_icmplt 9
        end local 4 // int i
        end local 3 // sun.security.krb5.internal.ccache.Credentials[] tmp
        12: .line 284
            goto 24
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream
      StackMap stack: java.lang.Throwable
        13: astore 5
        14: .line 286
            aload 2 /* cos */
            ifnull 21
        15: .line 287
            aload 2 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
        16: .line 288
            goto 21
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
        17: astore 6
        18: .line 289
            aload 1 /* fos */
            ifnull 20
        19: .line 290
            aload 1 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        20: .line 291
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        21: .line 289
      StackMap locals:
      StackMap stack:
            aload 1 /* fos */
            ifnull 23
        22: .line 290
            aload 1 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        23: .line 292
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        24: .line 286
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream
      StackMap stack:
            aload 2 /* cos */
            ifnull 31
        25: .line 287
            aload 2 /* cos */
            invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.close:()V
        26: .line 288
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 6
        28: .line 289
            aload 1 /* fos */
            ifnull 30
        29: .line 290
            aload 1 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        30: .line 291
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream top top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        31: .line 289
      StackMap locals: sun.security.krb5.internal.ccache.FileCredentialsCache java.io.FileOutputStream sun.security.krb5.internal.ccache.CCacheOutputStream
      StackMap stack:
            aload 1 /* fos */
            ifnull 33
        32: .line 290
            aload 1 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        33: .line 293
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.security.krb5.internal.ccache.CCacheOutputStream cos
        end local 1 // java.io.FileOutputStream fos
        end local 0 // sun.security.krb5.internal.ccache.FileCredentialsCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   34     0  this  Lsun/security/krb5/internal/ccache/FileCredentialsCache;
            1   34     1   fos  Ljava/io/FileOutputStream;
            2   34     2   cos  Lsun/security/krb5/internal/ccache/CCacheOutputStream;
            6   12     3   tmp  [Lsun/security/krb5/internal/ccache/Credentials;
            8   12     4     i  I
      Exception table:
        from    to  target  type
           2    13      13  any
          14    17      17  any
          24    27      27  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 296
            aload 1 /* s1 */
            arraylength
            aload 2 /* s2 */
            arraylength
            if_icmpeq 2
         1: .line 297
            iconst_0
            ireturn
         2: .line 299
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 300
      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 301
            iconst_0
            ireturn
         6: .line 299
      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 305
            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 312
            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 313
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 315
      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 316
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 317
      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 316
            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 319
            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 325
            aload 1 /* options */
            ifnonnull 2
         1: .line 326
            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 328
      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 329
            aload 3 /* list */
            ifnonnull 5
         4: .line 330
            aconst_null
            areturn
         5: .line 332
      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 333
      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 334
            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 335
            aload 3 /* list */
            iload 4 /* i */
            aaload
            areturn
        10: .line 332
      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 340
            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 350
            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 351
            aload 2 /* list */
            ifnonnull 3
         2: .line 352
            aconst_null
            areturn
         3: .line 354
      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 355
      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 356
            aload 2 /* list */
            iload 3 /* i */
            aaload
            areturn
         7: .line 354
      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 360
            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 364
            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 365
            aload 1 /* list */
            ifnonnull 3
         2: .line 366
            aconst_null
            areturn
         3: .line 368
      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 369
      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 370
            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 372
            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 373
            aload 1 /* list */
            iload 2 /* i */
            aaload
            areturn
        end local 3 // java.lang.String[] nameStrings
         9: .line 368
      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 378
            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=9, args_size=0
         0: .line 391
            ldc "krb5cc"
            astore 0 /* stdCacheNameComponent */
        start local 0 // java.lang.String stdCacheNameComponent
         1: .line 397
            new sun.security.action.GetPropertyAction
            dup
            ldc "os.name"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         2: .line 396
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         3: .line 395
            astore 2 /* osname */
        start local 2 // java.lang.String osname
         4: .line 410
            aload 2 /* osname */
            ifnull 27
         5: .line 413
            lconst_0
            lstore 3 /* uid */
        start local 3 // long uid
         6: .line 415
            aload 2 /* osname */
            ldc "SunOS"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         7: .line 416
            aload 2 /* osname */
            ldc "Linux"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
         8: .line 419
      StackMap locals: java.lang.String top java.lang.String long
      StackMap stack:
            ldc "com.sun.security.auth.module.UnixSystem"
         9: .line 418
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* c */
        start local 5 // java.lang.Class c
        10: .line 420
            aload 5 /* c */
            iconst_0
            anewarray java.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
        11: .line 421
            aload 6 /* constructor */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* obj */
        start local 7 // java.lang.Object obj
        12: .line 422
            aload 5 /* c */
            ldc "getUid"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 8 /* method */
        start local 8 // java.lang.reflect.Method method
        13: .line 423
            aload 8 /* method */
            aload 7 /* obj */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 3 /* uid */
        14: .line 424
            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;
        15: .line 425
            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;
        16: .line 424
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
        17: .line 426
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 21
        18: .line 427
            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
        19: .line 428
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 427
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 430
      StackMap locals: java.lang.String java.lang.String java.lang.String long java.lang.Class java.lang.reflect.Constructor java.lang.Object java.lang.reflect.Method
      StackMap stack:
            aload 1 /* name */
        22: areturn
        end local 8 // java.lang.reflect.Method method
        end local 7 // java.lang.Object obj
        end local 6 // java.lang.reflect.Constructor constructor
        end local 5 // java.lang.Class c
        end local 1 // java.lang.String name
        23: .line 431
      StackMap locals: java.lang.String top java.lang.String long
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        24: .line 432
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 27
        25: .line 433
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Exception in obtaining uid for Unix platforms Using user's home directory"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        26: .line 438
            aload 5 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 5 // java.lang.Exception e
        end local 3 // long uid
        27: .line 449
      StackMap locals:
      StackMap stack:
            new sun.security.action.GetPropertyAction
            dup
            ldc "user.name"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        28: .line 448
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
        29: .line 447
            astore 3 /* user_name */
        start local 3 // java.lang.String user_name
        30: .line 453
            new sun.security.action.GetPropertyAction
            dup
            ldc "user.home"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        31: .line 452
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
        32: .line 451
            astore 4 /* user_home */
        start local 4 // java.lang.String user_home
        33: .line 455
            aload 4 /* user_home */
            ifnonnull 37
        34: .line 458
            new sun.security.action.GetPropertyAction
            dup
            ldc "user.dir"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        35: .line 457
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
        36: .line 456
            astore 4 /* user_home */
        37: .line 461
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* user_name */
            ifnull 42
        38: .line 462
            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;
        39: .line 463
            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;
        40: .line 462
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
        41: .line 464
            goto 43
        end local 1 // java.lang.String name
        42: .line 465
      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 */
        start local 1 // java.lang.String name
        43: .line 468
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 45
        44: .line 469
            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
        45: .line 472
      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   46     0  stdCacheNameComponent  Ljava/lang/String;
           17   23     1                   name  Ljava/lang/String;
           41   42     1                   name  Ljava/lang/String;
           43   46     1                   name  Ljava/lang/String;
            4   46     2                 osname  Ljava/lang/String;
            6   27     3                    uid  J
           10   23     5                      c  Ljava/lang/Class<*>;
           11   23     6            constructor  Ljava/lang/reflect/Constructor<*>;
           12   23     7                    obj  Ljava/lang/Object;
           13   23     8                 method  Ljava/lang/reflect/Method;
           24   27     5                      e  Ljava/lang/Exception;
           30   46     3              user_name  Ljava/lang/String;
           33   46     4              user_home  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    22      23  Class java.lang.Exception

  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 476
            aconst_null
            astore 1 /* fullname */
        start local 1 // java.lang.String fullname
         1: .line 477
            aload 0 /* name */
            ifnonnull 3
         2: .line 478
            aconst_null
            areturn
         3: .line 482
      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 483
            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 484
            aload 2 /* fCheck */
            invokevirtual java.io.File.exists:()Z
            ifne 10
         6: .line 486
            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 488
            aload 3 /* temp */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 9
         8: .line 489
            aconst_null
            astore 1 /* fullname */
         9: .line 490
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            aconst_null
            astore 3
        end local 3 // java.io.File temp
        10: .line 492
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2
        end local 2 // java.io.File fCheck
        11: .line 494
            goto 14
      StackMap locals: java.lang.String java.lang.String
      StackMap stack: java.io.IOException
        12: pop
        13: .line 495
            aconst_null
            astore 1 /* fullname */
        14: .line 497
      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 502
            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 503
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* v */
        start local 2 // java.util.Vector v
         2: .line 504
            goto 4
         3: .line 505
      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 504
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 3
         5: .line 507
            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 508
            aload 2 /* v */
            aload 3 /* command */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
         7: .line 513
            new sun.security.krb5.internal.ccache.FileCredentialsCache$1
            dup
            aload 3 /* command */
            invokespecial sun.security.krb5.internal.ccache.FileCredentialsCache$1.<init>:([Ljava/lang/String;)V
         8: .line 512
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Process
         9: .line 511
            astore 4 /* p */
        start local 4 // java.lang.Process p
        10: .line 525
            aload 4 /* p */
            ifnonnull 12
        11: .line 527
            aconst_null
            areturn
        12: .line 531
      StackMap locals: java.lang.String[] java.lang.Process
      StackMap stack:
            new java.io.BufferedReader
            dup
        13: .line 532
            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 531
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        15: .line 530
            astore 5 /* commandResult */
        start local 5 // java.io.BufferedReader commandResult
        16: .line 533
            aconst_null
            astore 6 /* s1 */
        start local 6 // java.lang.String s1
        17: .line 534
            aload 3 /* command */
            arraylength
            iconst_1
            if_icmpne 29
        18: .line 535
            aload 3 /* command */
            iconst_0
            aaload
            ldc "/usr/bin/env"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        19: .line 536
            goto 27
        20: .line 537
      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 538
            aload 6 /* s1 */
            iconst_0
            bipush 11
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        22: .line 539
            ldc "KRB5CCNAME="
        23: .line 538
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
        24: .line 539
            ifeq 27
        25: .line 540
            aload 6 /* s1 */
            bipush 11
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* s1 */
        26: .line 541
            goto 30
        27: .line 536
      StackMap locals:
      StackMap stack:
            aload 5 /* commandResult */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 6 /* s1 */
            ifnonnull 20
        28: .line 545
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 5 /* commandResult */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* s1 */
        30: .line 546
      StackMap locals:
      StackMap stack:
            aload 5 /* commandResult */
            invokevirtual java.io.BufferedReader.close:()V
        31: .line 547
            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 548
      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 549
            getstatic sun.security.krb5.internal.ccache.FileCredentialsCache.DEBUG:Z
            ifeq 36
        35: .line 550
            aload 4 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 4 // java.lang.Exception e
        36: .line 553
      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
InnerClasses:
  sun.security.krb5.internal.ccache.FileCredentialsCache$1