public class sun.security.tools.policytool.PolicyTool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.tools.policytool.PolicyTool
  super_class: java.lang.Object
{
  static final java.util.ResourceBundle rb;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.text.Collator collator;
    descriptor: Ljava/text/Collator;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  java.util.Vector<java.lang.String> warnings;
    descriptor: Ljava/util/Vector;
    flags: (0x0000) 
    Signature: Ljava/util/Vector<Ljava/lang/String;>;

  boolean newWarning;
    descriptor: Z
    flags: (0x0000) 

  boolean modified;
    descriptor: Z
    flags: (0x0000) 

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

  private static final java.lang.Class<?>[] TWOPARAMS;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

  private static final java.lang.Class<?>[] ONEPARAMS;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

  private static final java.lang.Class<?>[] NOPARAMS;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

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

  private java.util.Vector<sun.security.tools.policytool.PolicyEntry> policyEntries;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Lsun/security/tools/policytool/PolicyEntry;>;

  private sun.security.provider.PolicyParser parser;
    descriptor: Lsun/security/provider/PolicyParser;
    flags: (0x0002) ACC_PRIVATE

  private java.security.KeyStore keyStore;
    descriptor: Ljava/security/KeyStore;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyStoreName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyStoreType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyStoreProvider;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String keyStorePwdURL;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String P11KEYSTORE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PKCS11"

  private static final java.lang.String NONE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "NONE"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 80
            ldc "sun.security.tools.policytool.Resources"
         1: .line 79
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
         2: .line 78
            putstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
         3: .line 81
            invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
            putstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
         4: .line 84
            getstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
            iconst_0
            invokevirtual java.text.Collator.setStrength:(I)V
         5: .line 87
            ldc "apple.laf.useScreenMenuBar"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 7
         6: .line 88
            ldc "apple.laf.useScreenMenuBar"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         7: .line 90
      StackMap locals:
      StackMap stack:
            ldc "apple.awt.application.name"
            ldc "Policy.Tool"
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         8: .line 93
            ldc "swing.defaultlaf"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 12
         9: .line 95
            invokestatic javax.swing.UIManager.getSystemLookAndFeelClassName:()Ljava/lang/String;
            invokestatic javax.swing.UIManager.setLookAndFeel:(Ljava/lang/String;)V
        10: .line 96
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Exception
        11: pop
        12: .line 111
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.tools.policytool.PolicyTool.TWOPARAMS:[Ljava/lang/Class;
        13: .line 112
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.tools.policytool.PolicyTool.ONEPARAMS:[Ljava/lang/Class;
        14: .line 113
            iconst_0
            anewarray java.lang.Class
            putstatic sun.security.tools.policytool.PolicyTool.NOPARAMS:[Ljava/lang/Class;
        15: .line 121
            aconst_null
            putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
        16: .line 136
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Exception

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 141
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 104
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
         2: .line 108
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         3: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
         4: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
         5: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
         6: .line 127
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
         7: .line 128
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
         8: .line 129
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
         9: .line 130
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
        10: .line 142
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
        11: .line 143
            aload 0 /* this */
            new sun.security.provider.PolicyParser
            dup
            invokespecial sun.security.provider.PolicyParser.<init>:()V
            putfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
        12: .line 144
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
        13: .line 145
            return
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/security/tools/policytool/PolicyTool;

  java.lang.String getPolicyFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 151
            getstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
            areturn
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/policytool/PolicyTool;

  void setPolicyFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String policyFileName
         0: .line 158
            aload 1 /* policyFileName */
            putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
         1: .line 159
            return
        end local 1 // java.lang.String policyFileName
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lsun/security/tools/policytool/PolicyTool;
            0    2     1  policyFileName  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      policyFileName  

  void clearKeyStoreInfo();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 165
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
         1: .line 166
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
         2: .line 167
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
         3: .line 168
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
         4: .line 170
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
         5: .line 171
            return
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/tools/policytool/PolicyTool;

  java.lang.String getKeyStoreName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 177
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
            areturn
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/policytool/PolicyTool;

  java.lang.String getKeyStoreType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 184
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
            areturn
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/policytool/PolicyTool;

  java.lang.String getKeyStoreProvider();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 191
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
            areturn
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/policytool/PolicyTool;

  java.lang.String getKeyStorePwdURL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 198
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
            areturn
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/policytool/PolicyTool;

  void openPolicy(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String filename
         0: .line 220
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
         1: .line 223
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
         2: .line 224
            aload 0 /* this */
            new sun.security.provider.PolicyParser
            dup
            invokespecial sun.security.provider.PolicyParser.<init>:()V
            putfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
         3: .line 225
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
         4: .line 226
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.tools.policytool.PolicyTool.setPolicyFileName:(Ljava/lang/String;)V
         5: .line 227
            aload 0 /* this */
            invokevirtual sun.security.tools.policytool.PolicyTool.clearKeyStoreInfo:()V
         6: .line 230
            aload 1 /* filename */
            ifnonnull 9
         7: .line 231
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         8: .line 232
            return
         9: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filename */
            invokevirtual sun.security.tools.policytool.PolicyTool.setPolicyFileName:(Ljava/lang/String;)V
        10: .line 241
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            new java.io.FileReader
            dup
            aload 1 /* filename */
            invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
        11: .line 244
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
        12: .line 245
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
        13: .line 244
            invokevirtual sun.security.tools.policytool.PolicyTool.openKeyStore:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 250
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
            astore 2 /* enum_ */
        start local 2 // java.util.Enumeration enum_
        15: .line 251
            goto 85
        16: .line 252
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$GrantEntry
            astore 3 /* ge */
        start local 3 // sun.security.provider.PolicyParser$GrantEntry ge
        17: .line 255
            aload 3 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 31
        18: .line 257
            aload 0 /* this */
            aload 3 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual sun.security.tools.policytool.PolicyTool.parseSigners:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* signers */
        start local 4 // java.lang.String[] signers
        19: .line 258
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        20: goto 30
        21: .line 259
      StackMap locals: sun.security.provider.PolicyParser$GrantEntry java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* signers */
            iload 5 /* i */
            aaload
            invokevirtual sun.security.tools.policytool.PolicyTool.getPublicKeyAlias:(Ljava/lang/String;)Ljava/security/PublicKey;
            astore 6 /* pubKey */
        start local 6 // java.security.PublicKey pubKey
        22: .line 260
            aload 6 /* pubKey */
            ifnonnull 29
        23: .line 261
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        24: .line 262
            new java.text.MessageFormat
            dup
        25: .line 263
            ldc "Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."
        26: .line 262
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        27: .line 264
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* signers */
            iload 5 /* i */
            aaload
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        28: .line 265
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        end local 6 // java.security.PublicKey pubKey
        29: .line 258
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            aload 4 /* signers */
            arraylength
            if_icmplt 21
        end local 5 // int i
        end local 4 // java.lang.String[] signers
        31: .line 272
      StackMap locals:
      StackMap stack:
            aload 3 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            iconst_0
            invokevirtual java.util.LinkedList.listIterator:(I)Ljava/util/ListIterator;
        32: .line 271
            astore 4 /* prinList */
        start local 4 // java.util.ListIterator prinList
        33: .line 273
            goto 46
        34: .line 274
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 4 /* prinList */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 5 /* pe */
        start local 5 // sun.security.provider.PolicyParser$PrincipalEntry pe
        35: .line 276
            aload 0 /* this */
            aload 5 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalClass:()Ljava/lang/String;
        36: .line 277
            aload 5 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalName:()Ljava/lang/String;
        37: .line 276
            invokevirtual sun.security.tools.policytool.PolicyTool.verifyPrincipal:(Ljava/lang/String;Ljava/lang/String;)V
        38: .line 278
            goto 46
      StackMap locals: sun.security.tools.policytool.PolicyTool java.lang.String java.util.Enumeration sun.security.provider.PolicyParser$GrantEntry java.util.ListIterator sun.security.provider.PolicyParser$PrincipalEntry
      StackMap stack: java.lang.ClassNotFoundException
        39: pop
        40: .line 279
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        41: .line 280
            new java.text.MessageFormat
            dup
        42: .line 281
            ldc "Warning.Class.not.found.class"
        43: .line 280
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        44: .line 282
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalClass:()Ljava/lang/String;
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        45: .line 283
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        end local 5 // sun.security.provider.PolicyParser$PrincipalEntry pe
        46: .line 273
      StackMap locals:
      StackMap stack:
            aload 4 /* prinList */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 34
        47: .line 289
            aload 3 /* ge */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
        48: .line 288
            astore 5 /* perms */
        start local 5 // java.util.Enumeration perms
        49: .line 290
            goto 82
        50: .line 291
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 5 /* perms */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PermissionEntry
            astore 6 /* pe */
        start local 6 // sun.security.provider.PolicyParser$PermissionEntry pe
        51: .line 293
            aload 0 /* this */
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
            invokevirtual sun.security.tools.policytool.PolicyTool.verifyPermission:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        52: .line 294
            goto 68
      StackMap locals: sun.security.tools.policytool.PolicyTool java.lang.String java.util.Enumeration sun.security.provider.PolicyParser$GrantEntry java.util.ListIterator java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack: java.lang.ClassNotFoundException
        53: pop
        54: .line 295
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        55: .line 296
            new java.text.MessageFormat
            dup
        56: .line 297
            ldc "Warning.Class.not.found.class"
        57: .line 296
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        58: .line 298
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        59: .line 299
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        60: goto 68
        61: .line 300
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
        62: .line 301
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        63: .line 302
            new java.text.MessageFormat
            dup
        64: .line 303
            ldc "Warning.Invalid.argument.s.for.constructor.arg"
        65: .line 302
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        66: .line 304
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        67: .line 305
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        68: .line 309
      StackMap locals:
      StackMap stack:
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 82
        69: .line 311
            aload 0 /* this */
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            invokevirtual sun.security.tools.policytool.PolicyTool.parseSigners:(Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* signers */
        start local 7 // java.lang.String[] signers
        70: .line 313
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        71: goto 81
        72: .line 314
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* signers */
            iload 8 /* i */
            aaload
            invokevirtual sun.security.tools.policytool.PolicyTool.getPublicKeyAlias:(Ljava/lang/String;)Ljava/security/PublicKey;
            astore 9 /* pubKey */
        start local 9 // java.security.PublicKey pubKey
        73: .line 315
            aload 9 /* pubKey */
            ifnonnull 80
        74: .line 316
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        75: .line 317
            new java.text.MessageFormat
            dup
        76: .line 318
            ldc "Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."
        77: .line 317
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        78: .line 319
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* signers */
            iload 8 /* i */
            aaload
            aastore
            astore 11 /* source */
        start local 11 // java.lang.Object[] source
        79: .line 320
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
            aload 10 /* form */
            aload 11 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 11 // java.lang.Object[] source
        end local 10 // java.text.MessageFormat form
        end local 9 // java.security.PublicKey pubKey
        80: .line 313
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        81: iload 8 /* i */
            aload 7 /* signers */
            arraylength
            if_icmplt 72
        end local 8 // int i
        end local 7 // java.lang.String[] signers
        end local 6 // sun.security.provider.PolicyParser$PermissionEntry pe
        82: .line 290
      StackMap locals:
      StackMap stack:
            aload 5 /* perms */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 50
        83: .line 325
            new sun.security.tools.policytool.PolicyEntry
            dup
            aload 0 /* this */
            aload 3 /* ge */
            invokespecial sun.security.tools.policytool.PolicyEntry.<init>:(Lsun/security/tools/policytool/PolicyTool;Lsun/security/provider/PolicyParser$GrantEntry;)V
            astore 6 /* pEntry */
        start local 6 // sun.security.tools.policytool.PolicyEntry pEntry
        84: .line 326
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            aload 6 /* pEntry */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 6 // sun.security.tools.policytool.PolicyEntry pEntry
        end local 5 // java.util.Enumeration perms
        end local 4 // java.util.ListIterator prinList
        end local 3 // sun.security.provider.PolicyParser$GrantEntry ge
        85: .line 251
      StackMap locals:
      StackMap stack:
            aload 2 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 16
        86: .line 330
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
        87: .line 331
            return
        end local 2 // java.util.Enumeration enum_
        end local 1 // java.lang.String filename
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   88     0      this  Lsun/security/tools/policytool/PolicyTool;
            0   88     1  filename  Ljava/lang/String;
           15   88     2     enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
           17   85     3        ge  Lsun/security/provider/PolicyParser$GrantEntry;
           19   31     4   signers  [Ljava/lang/String;
           20   31     5         i  I
           22   29     6    pubKey  Ljava/security/PublicKey;
           27   29     7      form  Ljava/text/MessageFormat;
           28   29     8    source  [Ljava/lang/Object;
           33   85     4  prinList  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           35   46     5        pe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           44   46     6      form  Ljava/text/MessageFormat;
           45   46     7    source  [Ljava/lang/Object;
           49   85     5     perms  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$PermissionEntry;>;
           51   82     6        pe  Lsun/security/provider/PolicyParser$PermissionEntry;
           58   60     7      form  Ljava/text/MessageFormat;
           59   60     8    source  [Ljava/lang/Object;
           66   68     7      form  Ljava/text/MessageFormat;
           67   68     8    source  [Ljava/lang/Object;
           70   82     7   signers  [Ljava/lang/String;
           71   82     8         i  I
           73   80     9    pubKey  Ljava/security/PublicKey;
           78   80    10      form  Ljava/text/MessageFormat;
           79   80    11    source  [Ljava/lang/Object;
           84   85     6    pEntry  Lsun/security/tools/policytool/PolicyEntry;
      Exception table:
        from    to  target  type
          35    38      39  Class java.lang.ClassNotFoundException
          51    52      53  Class java.lang.ClassNotFoundException
          51    52      61  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.io.FileNotFoundException, sun.security.provider.PolicyParser$ParsingException, java.security.KeyStoreException, java.security.cert.CertificateException, java.lang.InstantiationException, java.net.MalformedURLException, java.io.IOException, java.security.NoSuchAlgorithmException, java.lang.IllegalAccessException, java.lang.NoSuchMethodException, java.security.UnrecoverableKeyException, java.security.NoSuchProviderException, java.lang.ClassNotFoundException, sun.security.util.PropertyExpander$ExpandException, java.lang.reflect.InvocationTargetException
    MethodParameters:
          Name  Flags
      filename  

  void savePolicy(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String filename
         0: .line 340
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.setKeyStoreUrl:(Ljava/lang/String;)V
         1: .line 341
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.setKeyStoreType:(Ljava/lang/String;)V
         2: .line 342
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.setKeyStoreProvider:(Ljava/lang/String;)V
         3: .line 343
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.setStorePassURL:(Ljava/lang/String;)V
         4: .line 344
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            new java.io.FileWriter
            dup
            aload 1 /* filename */
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.provider.PolicyParser.write:(Ljava/io/Writer;)V
         5: .line 345
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         6: .line 346
            return
        end local 1 // java.lang.String filename
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lsun/security/tools/policytool/PolicyTool;
            0    7     1  filename  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException, java.io.IOException
    MethodParameters:
          Name  Flags
      filename  

  void openKeyStore(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String type
        start local 3 // java.lang.String provider
        start local 4 // java.lang.String pwdURL
         0: .line 362
            aload 1 /* name */
            ifnonnull 7
            aload 2 /* type */
            ifnonnull 7
         1: .line 363
            aload 3 /* provider */
            ifnonnull 7
            aload 4 /* pwdURL */
            ifnonnull 7
         2: .line 368
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
         3: .line 369
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
         4: .line 370
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
         5: .line 371
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
         6: .line 375
            return
         7: .line 378
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* policyURL */
        start local 5 // java.net.URL policyURL
         8: .line 379
            getstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
            ifnull 11
         9: .line 380
            new java.io.File
            dup
            getstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* pfile */
        start local 6 // java.io.File pfile
        10: .line 381
            new java.net.URL
            dup
            new java.lang.StringBuilder
            dup
            ldc "file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* pfile */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 5 /* policyURL */
        end local 6 // java.io.File pfile
        11: .line 389
      StackMap locals: java.net.URL
      StackMap stack:
            aload 1 /* name */
            ifnull 15
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifle 15
        12: .line 390
            aload 1 /* name */
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
        13: .line 391
            getstatic java.io.File.separatorChar:C
            bipush 47
        14: .line 390
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* name */
        15: .line 393
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            ifnull 16
            aload 2 /* type */
            invokevirtual java.lang.String.length:()I
            ifne 17
        16: .line 394
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            astore 2 /* type */
        17: .line 396
      StackMap locals:
      StackMap stack:
            aload 4 /* pwdURL */
            ifnull 21
            aload 4 /* pwdURL */
            invokevirtual java.lang.String.length:()I
            ifle 21
        18: .line 397
            aload 4 /* pwdURL */
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
        19: .line 398
            getstatic java.io.File.separatorChar:C
            bipush 47
        20: .line 397
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 4 /* pwdURL */
        21: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* policyURL */
        22: .line 403
            aload 1 /* name */
        23: .line 404
            aload 2 /* type */
        24: .line 405
            aload 3 /* provider */
        25: .line 406
            aload 4 /* pwdURL */
        26: .line 407
            aconst_null
        27: .line 402
            invokestatic sun.security.util.PolicyUtil.getKeyStore:(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/security/util/Debug;)Ljava/security/KeyStore;
            putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
        28: .line 408
            goto 37
      StackMap locals:
      StackMap stack: java.io.IOException
        29: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        30: .line 411
            ldc "no password provided, and no callback handler available for retrieving password"
            astore 7 /* MSG */
        start local 7 // java.lang.String MSG
        31: .line 414
            aload 6 /* ioe */
            invokevirtual java.io.IOException.getCause:()Ljava/lang/Throwable;
            astore 8 /* cause */
        start local 8 // java.lang.Throwable cause
        32: .line 415
            aload 8 /* cause */
            ifnull 36
        33: .line 416
            aload 8 /* cause */
            instanceof javax.security.auth.login.LoginException
            ifeq 36
        34: .line 417
            aload 7 /* MSG */
            aload 8 /* cause */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        35: .line 420
            new java.io.IOException
            dup
            aload 7 /* MSG */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 422
      StackMap locals: java.io.IOException java.lang.String java.lang.Throwable
      StackMap stack:
            aload 6 /* ioe */
            athrow
        end local 8 // java.lang.Throwable cause
        end local 7 // java.lang.String MSG
        end local 6 // java.io.IOException ioe
        37: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
        38: .line 427
            aload 0 /* this */
            aload 2 /* type */
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
        39: .line 428
            aload 0 /* this */
            aload 3 /* provider */
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
        40: .line 429
            aload 0 /* this */
            aload 4 /* pwdURL */
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
        41: .line 432
            return
        end local 5 // java.net.URL policyURL
        end local 4 // java.lang.String pwdURL
        end local 3 // java.lang.String provider
        end local 2 // java.lang.String type
        end local 1 // java.lang.String name
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   42     0       this  Lsun/security/tools/policytool/PolicyTool;
            0   42     1       name  Ljava/lang/String;
            0   42     2       type  Ljava/lang/String;
            0   42     3   provider  Ljava/lang/String;
            0   42     4     pwdURL  Ljava/lang/String;
            8   42     5  policyURL  Ljava/net/URL;
           10   11     6      pfile  Ljava/io/File;
           30   37     6        ioe  Ljava/io/IOException;
           31   37     7        MSG  Ljava/lang/String;
           32   37     8      cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          21    28      29  Class java.io.IOException
    Exceptions:
      throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException, java.io.IOException, java.security.cert.CertificateException, java.security.NoSuchProviderException, sun.security.util.PropertyExpander$ExpandException
    MethodParameters:
          Name  Flags
      name      
      type      
      provider  
      pwdURL    

  boolean addEntry(sun.security.tools.policytool.PolicyEntry, int);
    descriptor: (Lsun/security/tools/policytool/PolicyEntry;I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // sun.security.tools.policytool.PolicyEntry pe
        start local 2 // int index
         0: .line 440
            iload 2 /* index */
            ifge 4
         1: .line 442
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            aload 1 /* pe */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         2: .line 443
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            aload 1 /* pe */
            invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            invokevirtual sun.security.provider.PolicyParser.add:(Lsun/security/provider/PolicyParser$GrantEntry;)V
         3: .line 444
            goto 7
         4: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            iload 2 /* index */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast sun.security.tools.policytool.PolicyEntry
            astore 3 /* origPe */
        start local 3 // sun.security.tools.policytool.PolicyEntry origPe
         5: .line 447
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            aload 3 /* origPe */
            invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            aload 1 /* pe */
            invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            invokevirtual sun.security.provider.PolicyParser.replace:(Lsun/security/provider/PolicyParser$GrantEntry;Lsun/security/provider/PolicyParser$GrantEntry;)V
         6: .line 448
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            aload 1 /* pe */
            iload 2 /* index */
            invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
        end local 3 // sun.security.tools.policytool.PolicyEntry origPe
         7: .line 450
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int index
        end local 1 // sun.security.tools.policytool.PolicyEntry pe
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/security/tools/policytool/PolicyTool;
            0    8     1      pe  Lsun/security/tools/policytool/PolicyEntry;
            0    8     2   index  I
            5    7     3  origPe  Lsun/security/tools/policytool/PolicyEntry;
    MethodParameters:
       Name  Flags
      pe     
      index  

  boolean addPrinEntry(sun.security.tools.policytool.PolicyEntry, sun.security.provider.PolicyParser$PrincipalEntry, int);
    descriptor: (Lsun/security/tools/policytool/PolicyEntry;Lsun/security/provider/PolicyParser$PrincipalEntry;I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // sun.security.tools.policytool.PolicyEntry pe
        start local 2 // sun.security.provider.PolicyParser$PrincipalEntry newPrin
        start local 3 // int index
         0: .line 464
            aload 1 /* pe */
            invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            astore 4 /* grantEntry */
        start local 4 // sun.security.provider.PolicyParser$GrantEntry grantEntry
         1: .line 465
            aload 4 /* grantEntry */
            aload 2 /* newPrin */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.contains:(Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
            ifeq 3
         2: .line 466
            iconst_0
            ireturn
         3: .line 469
      StackMap locals: sun.security.provider.PolicyParser$GrantEntry
      StackMap stack:
            aload 4 /* grantEntry */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
         4: .line 468
            astore 5 /* prinList */
        start local 5 // java.util.LinkedList prinList
         5: .line 470
            iload 3 /* index */
            iconst_m1
            if_icmpeq 7
         6: .line 471
            aload 5 /* prinList */
            iload 3 /* index */
            aload 2 /* newPrin */
            invokevirtual java.util.LinkedList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
            goto 8
         7: .line 473
      StackMap locals: java.util.LinkedList
      StackMap stack:
            aload 5 /* prinList */
            aload 2 /* newPrin */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         9: .line 476
            iconst_1
            ireturn
        end local 5 // java.util.LinkedList prinList
        end local 4 // sun.security.provider.PolicyParser$GrantEntry grantEntry
        end local 3 // int index
        end local 2 // sun.security.provider.PolicyParser$PrincipalEntry newPrin
        end local 1 // sun.security.tools.policytool.PolicyEntry pe
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/security/tools/policytool/PolicyTool;
            0   10     1          pe  Lsun/security/tools/policytool/PolicyEntry;
            0   10     2     newPrin  Lsun/security/provider/PolicyParser$PrincipalEntry;
            0   10     3       index  I
            1   10     4  grantEntry  Lsun/security/provider/PolicyParser$GrantEntry;
            5   10     5    prinList  Ljava/util/LinkedList<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
    MethodParameters:
         Name  Flags
      pe       
      newPrin  
      index    

  boolean addPermEntry(sun.security.tools.policytool.PolicyEntry, sun.security.provider.PolicyParser$PermissionEntry, int);
    descriptor: (Lsun/security/tools/policytool/PolicyEntry;Lsun/security/provider/PolicyParser$PermissionEntry;I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // sun.security.tools.policytool.PolicyEntry pe
        start local 2 // sun.security.provider.PolicyParser$PermissionEntry newPerm
        start local 3 // int index
         0: .line 490
            aload 1 /* pe */
            invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            astore 4 /* grantEntry */
        start local 4 // sun.security.provider.PolicyParser$GrantEntry grantEntry
         1: .line 491
            aload 4 /* grantEntry */
            aload 2 /* newPerm */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.contains:(Lsun/security/provider/PolicyParser$PermissionEntry;)Z
            ifeq 3
         2: .line 492
            iconst_0
            ireturn
         3: .line 495
      StackMap locals: sun.security.provider.PolicyParser$GrantEntry
      StackMap stack:
            aload 4 /* grantEntry */
            getfield sun.security.provider.PolicyParser$GrantEntry.permissionEntries:Ljava/util/Vector;
         4: .line 494
            astore 5 /* permList */
        start local 5 // java.util.Vector permList
         5: .line 496
            iload 3 /* index */
            iconst_m1
            if_icmpeq 7
         6: .line 497
            aload 5 /* permList */
            aload 2 /* newPerm */
            iload 3 /* index */
            invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
            goto 8
         7: .line 499
      StackMap locals: java.util.Vector
      StackMap stack:
            aload 5 /* permList */
            aload 2 /* newPerm */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         8: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         9: .line 502
            iconst_1
            ireturn
        end local 5 // java.util.Vector permList
        end local 4 // sun.security.provider.PolicyParser$GrantEntry grantEntry
        end local 3 // int index
        end local 2 // sun.security.provider.PolicyParser$PermissionEntry newPerm
        end local 1 // sun.security.tools.policytool.PolicyEntry pe
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/security/tools/policytool/PolicyTool;
            0   10     1          pe  Lsun/security/tools/policytool/PolicyEntry;
            0   10     2     newPerm  Lsun/security/provider/PolicyParser$PermissionEntry;
            0   10     3       index  I
            1   10     4  grantEntry  Lsun/security/provider/PolicyParser$GrantEntry;
            5   10     5    permList  Ljava/util/Vector<Lsun/security/provider/PolicyParser$PermissionEntry;>;
    MethodParameters:
         Name  Flags
      pe       
      newPerm  
      index    

  boolean removePermEntry(sun.security.tools.policytool.PolicyEntry, sun.security.provider.PolicyParser$PermissionEntry);
    descriptor: (Lsun/security/tools/policytool/PolicyEntry;Lsun/security/provider/PolicyParser$PermissionEntry;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // sun.security.tools.policytool.PolicyEntry pe
        start local 2 // sun.security.provider.PolicyParser$PermissionEntry perm
         0: .line 512
            aload 1 /* pe */
            invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            astore 3 /* ppge */
        start local 3 // sun.security.provider.PolicyParser$GrantEntry ppge
         1: .line 513
            aload 0 /* this */
            aload 3 /* ppge */
            aload 2 /* perm */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.remove:(Lsun/security/provider/PolicyParser$PermissionEntry;)Z
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         2: .line 514
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.modified:Z
            ireturn
        end local 3 // sun.security.provider.PolicyParser$GrantEntry ppge
        end local 2 // sun.security.provider.PolicyParser$PermissionEntry perm
        end local 1 // sun.security.tools.policytool.PolicyEntry pe
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/tools/policytool/PolicyTool;
            0    3     1    pe  Lsun/security/tools/policytool/PolicyEntry;
            0    3     2  perm  Lsun/security/provider/PolicyParser$PermissionEntry;
            1    3     3  ppge  Lsun/security/provider/PolicyParser$GrantEntry;
    MethodParameters:
      Name  Flags
      pe    
      perm  

  boolean removeEntry(sun.security.tools.policytool.PolicyEntry);
    descriptor: (Lsun/security/tools/policytool/PolicyEntry;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // sun.security.tools.policytool.PolicyEntry pe
         0: .line 522
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
            aload 1 /* pe */
            invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            invokevirtual sun.security.provider.PolicyParser.remove:(Lsun/security/provider/PolicyParser$GrantEntry;)Z
            pop
         1: .line 523
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         2: .line 524
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            aload 1 /* pe */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // sun.security.tools.policytool.PolicyEntry pe
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/tools/policytool/PolicyTool;
            0    3     1    pe  Lsun/security/tools/policytool/PolicyEntry;
    MethodParameters:
      Name  Flags
      pe    

  sun.security.tools.policytool.PolicyEntry[] getEntry();
    descriptor: ()[Lsun/security/tools/policytool/PolicyEntry;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 532
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            ifle 8
         1: .line 533
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            anewarray sun.security.tools.policytool.PolicyEntry
            astore 1 /* entries */
        start local 1 // sun.security.tools.policytool.PolicyEntry[] entries
         2: .line 534
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 535
      StackMap locals: sun.security.tools.policytool.PolicyEntry[] int
      StackMap stack:
            aload 1 /* entries */
            iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast sun.security.tools.policytool.PolicyEntry
            aastore
         5: .line 534
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 4
        end local 2 // int i
         7: .line 536
            aload 1 /* entries */
            areturn
        end local 1 // sun.security.tools.policytool.PolicyEntry[] entries
         8: .line 538
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/security/tools/policytool/PolicyTool;
            2    8     1  entries  [Lsun/security/tools/policytool/PolicyEntry;
            3    7     2        i  I

  java.security.PublicKey getPublicKeyAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/PublicKey;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String name
         0: .line 546
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
            ifnonnull 2
         1: .line 547
            aconst_null
            areturn
         2: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
            aload 1 /* name */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 2 /* cert */
        start local 2 // java.security.cert.Certificate cert
         3: .line 551
            aload 2 /* cert */
            ifnonnull 5
         4: .line 552
            aconst_null
            areturn
         5: .line 554
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 2 /* cert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 3 /* pubKey */
        start local 3 // java.security.PublicKey pubKey
         6: .line 555
            aload 3 /* pubKey */
            areturn
        end local 3 // java.security.PublicKey pubKey
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String name
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/tools/policytool/PolicyTool;
            0    7     1    name  Ljava/lang/String;
            3    7     2    cert  Ljava/security/cert/Certificate;
            6    7     3  pubKey  Ljava/security/PublicKey;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
      Name  Flags
      name  

  java.lang.String[] getPublicKeyAlias();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyTool this
         0: .line 563
            iconst_0
            istore 1 /* numAliases */
        start local 1 // int numAliases
         1: .line 564
            aconst_null
            astore 2 /* aliases */
        start local 2 // java.lang.String[] aliases
         2: .line 566
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
            ifnonnull 4
         3: .line 567
            aconst_null
            areturn
         4: .line 569
      StackMap locals: int java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 3 /* enum_ */
        start local 3 // java.util.Enumeration enum_
         5: .line 572
            goto 8
         6: .line 573
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            pop
         7: .line 574
            iinc 1 /* numAliases */ 1
         8: .line 572
      StackMap locals:
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
         9: .line 577
            iload 1 /* numAliases */
            ifle 17
        10: .line 579
            iload 1 /* numAliases */
            anewarray java.lang.String
            astore 2 /* aliases */
        11: .line 580
            iconst_0
            istore 1 /* numAliases */
        12: .line 581
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 3 /* enum_ */
        13: .line 582
            goto 16
        14: .line 583
      StackMap locals:
      StackMap stack:
            aload 2 /* aliases */
            iload 1 /* numAliases */
            new java.lang.String
            dup
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            aastore
        15: .line 584
            iinc 1 /* numAliases */ 1
        16: .line 582
      StackMap locals:
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 14
        17: .line 587
      StackMap locals:
      StackMap stack:
            aload 2 /* aliases */
            areturn
        end local 3 // java.util.Enumeration enum_
        end local 2 // java.lang.String[] aliases
        end local 1 // int numAliases
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lsun/security/tools/policytool/PolicyTool;
            1   18     1  numAliases  I
            2   18     2     aliases  [Ljava/lang/String;
            5   18     3       enum_  Ljava/util/Enumeration<Ljava/lang/String;>;
    Exceptions:
      throws java.security.KeyStoreException

  java.lang.String[] parseSigners(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String signedBy
         0: .line 596
            aconst_null
            astore 2 /* signers */
        start local 2 // java.lang.String[] signers
         1: .line 597
            iconst_1
            istore 3 /* numSigners */
        start local 3 // int numSigners
         2: .line 598
            iconst_0
            istore 4 /* signedByIndex */
        start local 4 // int signedByIndex
         3: .line 599
            iconst_0
            istore 5 /* commaIndex */
        start local 5 // int commaIndex
         4: .line 600
            iconst_0
            istore 6 /* signerNum */
        start local 6 // int signerNum
         5: .line 603
            goto 10
         6: .line 604
      StackMap locals: sun.security.tools.policytool.PolicyTool java.lang.String java.lang.String[] int int int int
      StackMap stack:
            aload 1 /* signedBy */
            bipush 44
            iload 4 /* signedByIndex */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* commaIndex */
         7: .line 605
            iload 5 /* commaIndex */
            iflt 10
         8: .line 606
            iinc 3 /* numSigners */ 1
         9: .line 607
            iload 5 /* commaIndex */
            iconst_1
            iadd
            istore 4 /* signedByIndex */
        10: .line 603
      StackMap locals:
      StackMap stack:
            iload 5 /* commaIndex */
            ifge 6
        11: .line 610
            iload 3 /* numSigners */
            anewarray java.lang.String
            astore 2 /* signers */
        12: .line 613
            iconst_0
            istore 5 /* commaIndex */
        13: .line 614
            iconst_0
            istore 4 /* signedByIndex */
        14: .line 615
            goto 23
        15: .line 616
      StackMap locals:
      StackMap stack:
            aload 1 /* signedBy */
            bipush 44
            iload 4 /* signedByIndex */
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 5 /* commaIndex */
            iflt 22
        16: .line 618
            aload 2 /* signers */
            iload 6 /* signerNum */
        17: .line 619
            aload 1 /* signedBy */
            iload 4 /* signedByIndex */
            iload 5 /* commaIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
        18: .line 618
            aastore
        19: .line 620
            iinc 6 /* signerNum */ 1
        20: .line 621
            iload 5 /* commaIndex */
            iconst_1
            iadd
            istore 4 /* signedByIndex */
        21: .line 622
            goto 23
        22: .line 624
      StackMap locals:
      StackMap stack:
            aload 2 /* signers */
            iload 6 /* signerNum */
            aload 1 /* signedBy */
            iload 4 /* signedByIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aastore
        23: .line 615
      StackMap locals:
      StackMap stack:
            iload 5 /* commaIndex */
            ifge 15
        24: .line 627
            aload 2 /* signers */
            areturn
        end local 6 // int signerNum
        end local 5 // int commaIndex
        end local 4 // int signedByIndex
        end local 3 // int numSigners
        end local 2 // java.lang.String[] signers
        end local 1 // java.lang.String signedBy
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Lsun/security/tools/policytool/PolicyTool;
            0   25     1       signedBy  Ljava/lang/String;
            1   25     2        signers  [Ljava/lang/String;
            2   25     3     numSigners  I
            3   25     4  signedByIndex  I
            4   25     5     commaIndex  I
            5   25     6      signerNum  I
    MethodParameters:
          Name  Flags
      signedBy  

  void verifyPrincipal(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String name
         0: .line 637
            aload 1 /* type */
            ldc "WILDCARD_PRINCIPAL_CLASS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 638
            aload 1 /* type */
            ldc "PolicyParser.REPLACE_NAME"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 639
      StackMap locals:
      StackMap stack:
            return
         3: .line 641
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            iconst_1
         4: .line 642
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
         5: .line 641
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* pc */
        start local 3 // java.lang.Class pc
         6: .line 643
            ldc Ljava/security/Principal;
            aload 3 /* pc */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 12
         7: .line 644
            new java.text.MessageFormat
            dup
         8: .line 645
            ldc "Illegal.Principal.Type.type"
         9: .line 644
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 646
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        11: .line 647
            new java.lang.InstantiationException
            dup
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.InstantiationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        12: .line 650
      StackMap locals: java.lang.Class
      StackMap stack:
            ldc Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 3 /* pc */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 656
            new javax.security.auth.x500.X500Principal
            aload 2 /* name */
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
        14: .line 658
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Class pc
        end local 2 // java.lang.String name
        end local 1 // java.lang.String type
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lsun/security/tools/policytool/PolicyTool;
            0   15     1    type  Ljava/lang/String;
            0   15     2    name  Ljava/lang/String;
            6   15     3      pc  Ljava/lang/Class<*>;
           10   12     4    form  Ljava/text/MessageFormat;
           11   12     5  source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.InstantiationException
    MethodParameters:
      Name  Flags
      type  
      name  

  void verifyPermission(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // sun.security.tools.policytool.PolicyTool this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String name
        start local 3 // java.lang.String actions
         0: .line 675
            aload 1 /* type */
            iconst_1
         1: .line 676
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
         2: .line 675
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 4 /* pc */
        start local 4 // java.lang.Class pc
         3: .line 677
            aconst_null
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
         4: .line 678
            new java.util.Vector
            dup
            iconst_2
            invokespecial java.util.Vector.<init>:(I)V
            astore 6 /* objects */
        start local 6 // java.util.Vector objects
         5: .line 679
            aload 2 /* name */
            ifnull 6
            aload 6 /* objects */
            aload 2 /* name */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         6: .line 680
      StackMap locals: java.lang.Class java.lang.reflect.Constructor java.util.Vector
      StackMap stack:
            aload 3 /* actions */
            ifnull 7
            aload 6 /* objects */
            aload 3 /* actions */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         7: .line 681
      StackMap locals:
      StackMap stack:
            aload 6 /* objects */
            invokevirtual java.util.Vector.size:()I
            tableswitch { // 0 - 2
                    0: 8
                    1: 12
                    2: 16
              default: 17
          }
         8: .line 684
      StackMap locals:
      StackMap stack:
            aload 4 /* pc */
            getstatic sun.security.tools.policytool.PolicyTool.NOPARAMS:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
         9: .line 685
            goto 17
        10: .line 686
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        11: .line 688
            aload 6 /* objects */
            aconst_null
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        12: .line 693
      StackMap locals:
      StackMap stack:
            aload 4 /* pc */
            getstatic sun.security.tools.policytool.PolicyTool.ONEPARAMS:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        13: .line 694
            goto 17
        14: .line 695
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        15: .line 697
            aload 6 /* objects */
            aconst_null
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        16: .line 701
      StackMap locals:
      StackMap stack:
            aload 4 /* pc */
            getstatic sun.security.tools.policytool.PolicyTool.TWOPARAMS:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        17: .line 704
      StackMap locals:
      StackMap stack:
            aload 6 /* objects */
            invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
            astore 7 /* parameters */
        start local 7 // java.lang.Object[] parameters
        18: .line 705
            aload 5 /* c */
            aload 7 /* parameters */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            pop
        19: .line 706
            return
        end local 7 // java.lang.Object[] parameters
        end local 6 // java.util.Vector objects
        end local 5 // java.lang.reflect.Constructor c
        end local 4 // java.lang.Class pc
        end local 3 // java.lang.String actions
        end local 2 // java.lang.String name
        end local 1 // java.lang.String type
        end local 0 // sun.security.tools.policytool.PolicyTool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lsun/security/tools/policytool/PolicyTool;
            0   20     1        type  Ljava/lang/String;
            0   20     2        name  Ljava/lang/String;
            0   20     3     actions  Ljava/lang/String;
            3   20     4          pc  Ljava/lang/Class<*>;
            4   20     5           c  Ljava/lang/reflect/Constructor<*>;
            5   20     6     objects  Ljava/util/Vector<Ljava/lang/String;>;
           18   20     7  parameters  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.NoSuchMethodException
          12    13      14  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
    MethodParameters:
         Name  Flags
      type     
      name     
      actions  

  static void parseArgs(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 713
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 715
            iconst_0
            istore 1 /* n */
            goto 14
         2: .line 717
      StackMap locals: int
      StackMap stack:
            aload 0 /* args */
            iload 1 /* n */
            aaload
            astore 2 /* flags */
        start local 2 // java.lang.String flags
         3: .line 719
            getstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
            aload 2 /* flags */
            ldc "-file"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 7
         4: .line 720
            iinc 1 /* n */ 1
            iload 1 /* n */
            aload 0 /* args */
            arraylength
            if_icmpne 5
            invokestatic sun.security.tools.policytool.PolicyTool.usage:()V
         5: .line 721
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* args */
            iload 1 /* n */
            aaload
            putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
         6: .line 722
            goto 13
         7: .line 723
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
         8: .line 724
            ldc "Illegal.option.option"
         9: .line 723
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        10: .line 725
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* flags */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        11: .line 726
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 727
            invokestatic sun.security.tools.policytool.PolicyTool.usage:()V
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String flags
        13: .line 715
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 1
      StackMap locals:
      StackMap stack:
        14: iload 1 /* n */
            aload 0 /* args */
            arraylength
            if_icmpge 15
            aload 0 /* args */
            iload 1 /* n */
            aaload
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
        15: .line 730
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    args  [Ljava/lang/String;
            1   16     1       n  I
            3   13     2   flags  Ljava/lang/String;
           10   13     3    form  Ljava/text/MessageFormat;
           11   13     4  source  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  

  static void usage();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 733
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Usage.policytool.options."
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 734
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         2: .line 735
            getstatic java.lang.System.out:Ljava/io/PrintStream;
         3: .line 736
            ldc ".file.file.policy.file.location"
         4: .line 735
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 737
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         6: .line 739
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         7: .line 740
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 746
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Note: The policytool tool has been deprecated and is planned to be removed in a future release.\n"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 748
            aload 0 /* args */
            invokestatic sun.security.tools.policytool.PolicyTool.parseArgs:([Ljava/lang/String;)V
         2: .line 749
            new sun.security.tools.policytool.PolicyTool$1
            dup
            aload 0 /* args */
            invokespecial sun.security.tools.policytool.PolicyTool$1.<init>:([Ljava/lang/String;)V
            invokestatic javax.swing.SwingUtilities.invokeLater:(Ljava/lang/Runnable;)V
         3: .line 755
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  static java.lang.String splitToWords(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String instr
         0: .line 761
            aload 0 /* instr */
            ldc "([A-Z])"
            ldc " $1"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String instr
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  instr  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      instr  

  static java.lang.String getMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 774
            getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
            aload 0 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic sun.security.tools.policytool.PolicyTool.removeMnemonicAmpersand:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  static int getMnemonicInt(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String key
         0: .line 786
            getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
            aload 0 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         1: .line 787
            aload 1 /* message */
            invokestatic sun.security.tools.policytool.PolicyTool.findMnemonicInt:(Ljava/lang/String;)I
            ireturn
        end local 1 // java.lang.String message
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0      key  Ljava/lang/String;
            1    2     1  message  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  static int getDisplayedMnemonicIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String key
         0: .line 798
            getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
            aload 0 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* message */
        start local 1 // java.lang.String message
         1: .line 799
            aload 1 /* message */
            invokestatic sun.security.tools.policytool.PolicyTool.findMnemonicIndex:(Ljava/lang/String;)I
            ireturn
        end local 1 // java.lang.String message
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0      key  Ljava/lang/String;
            1    2     1  message  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  private static int findMnemonicInt(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 812
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 7
         2: .line 813
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpne 6
         3: .line 814
            aload 0 /* s */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpeq 5
         4: .line 815
            aload 0 /* s */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.awt.event.KeyEvent.getExtendedKeyCodeForChar:(I)I
            ireturn
         5: .line 817
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
         6: .line 812
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmplt 2
        end local 1 // int i
         8: .line 821
            iconst_0
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     s  Ljava/lang/String;
            1    8     1     i  I
    MethodParameters:
      Name  Flags
      s     

  private static int findMnemonicIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 834
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 7
         2: .line 835
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpne 6
         3: .line 836
            aload 0 /* s */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpeq 5
         4: .line 838
            iload 1 /* i */
            ireturn
         5: .line 840
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
         6: .line 834
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmplt 2
        end local 1 // int i
         8: .line 844
            iconst_m1
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     s  Ljava/lang/String;
            1    8     1     i  I
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String removeMnemonicAmpersand(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String message
         0: .line 856
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* s */
        start local 1 // java.lang.StringBuilder s
         1: .line 857
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 858
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* message */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* current */
        start local 3 // char current
         4: .line 859
            iload 3 /* current */
            bipush 38
            if_icmpne 6
            iload 2 /* i */
            aload 0 /* message */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpeq 6
         5: .line 860
            aload 0 /* message */
            iload 2 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpne 7
         6: .line 861
      StackMap locals: int
      StackMap stack:
            aload 1 /* s */
            iload 3 /* current */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // char current
         7: .line 857
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* message */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
         9: .line 864
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder s
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  message  Ljava/lang/String;
            1   10     1        s  Ljava/lang/StringBuilder;
            2    9     2        i  I
            4    7     3  current  C
    MethodParameters:
         Name  Flags
      message  
}
SourceFile: "PolicyTool.java"
NestMembers:
  sun.security.tools.policytool.PolicyTool$1
InnerClasses:
  public GrantEntry = sun.security.provider.PolicyParser$GrantEntry of sun.security.provider.PolicyParser
  public ParsingException = sun.security.provider.PolicyParser$ParsingException of sun.security.provider.PolicyParser
  public PermissionEntry = sun.security.provider.PolicyParser$PermissionEntry of sun.security.provider.PolicyParser
  public PrincipalEntry = sun.security.provider.PolicyParser$PrincipalEntry of sun.security.provider.PolicyParser
  sun.security.tools.policytool.PolicyTool$1
  public ExpandException = sun.security.util.PropertyExpander$ExpandException of sun.security.util.PropertyExpander
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9", forRemoval = true)