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 75
            ldc "sun.security.tools.policytool.Resources"
         1: .line 74
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
         2: .line 73
            putstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
         3: .line 76
            invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
            putstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
         4: .line 79
            getstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
            iconst_0
            invokevirtual java.text.Collator.setStrength:(I)V
         5: .line 82
            ldc "apple.laf.useScreenMenuBar"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 7
         6: .line 83
            ldc "apple.laf.useScreenMenuBar"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         7: .line 85
      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 88
            ldc "swing.defaultlaf"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 12
         9: .line 90
            invokestatic javax.swing.UIManager.getSystemLookAndFeelClassName:()Ljava/lang/String;
            invokestatic javax.swing.UIManager.setLookAndFeel:(Ljava/lang/String;)V
        10: .line 91
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Exception
        11: pop
        12: .line 106
      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 107
            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 108
            iconst_0
            anewarray java.lang.Class
            putstatic sun.security.tools.policytool.PolicyTool.NOPARAMS:[Ljava/lang/Class;
        15: .line 116
            aconst_null
            putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
        16: .line 131
            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 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 99
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
         2: .line 103
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         3: .line 117
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
         4: .line 118
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
         5: .line 121
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
         6: .line 122
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
         7: .line 123
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
         8: .line 124
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
         9: .line 125
            aload 0 /* this */
            ldc " "
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
        10: .line 137
            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 138
            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 139
            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 140
            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 146
            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 153
            aload 1 /* policyFileName */
            putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
         1: .line 154
            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 160
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
         1: .line 161
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
         2: .line 162
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
         3: .line 163
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
         4: .line 165
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
         5: .line 166
            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 172
            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 179
            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 186
            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 193
            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 215
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
         1: .line 218
            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 219
            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 220
            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 221
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.tools.policytool.PolicyTool.setPolicyFileName:(Ljava/lang/String;)V
         5: .line 222
            aload 0 /* this */
            invokevirtual sun.security.tools.policytool.PolicyTool.clearKeyStoreInfo:()V
         6: .line 225
            aload 1 /* filename */
            ifnonnull 9
         7: .line 226
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         8: .line 227
            return
         9: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filename */
            invokevirtual sun.security.tools.policytool.PolicyTool.setPolicyFileName:(Ljava/lang/String;)V
        10: .line 236
            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 239
            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 240
            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 239
            invokevirtual sun.security.tools.policytool.PolicyTool.openKeyStore:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 245
            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 246
            goto 85
        16: .line 247
      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 250
            aload 3 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 31
        18: .line 252
            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 253
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        20: goto 30
        21: .line 254
      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 255
            aload 6 /* pubKey */
            ifnonnull 29
        23: .line 256
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        24: .line 257
            new java.text.MessageFormat
            dup
        25: .line 258
            ldc "Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."
        26: .line 257
            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 259
            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 260
            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 253
      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 267
      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 266
            astore 4 /* prinList */
        start local 4 // java.util.ListIterator prinList
        33: .line 268
            goto 46
        34: .line 269
      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 271
            aload 0 /* this */
            aload 5 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalClass:()Ljava/lang/String;
        36: .line 272
            aload 5 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalName:()Ljava/lang/String;
        37: .line 271
            invokevirtual sun.security.tools.policytool.PolicyTool.verifyPrincipal:(Ljava/lang/String;Ljava/lang/String;)V
        38: .line 273
            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 274
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        41: .line 275
            new java.text.MessageFormat
            dup
        42: .line 276
            ldc "Warning.Class.not.found.class"
        43: .line 275
            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 277
            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 278
            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 268
      StackMap locals:
      StackMap stack:
            aload 4 /* prinList */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 34
        47: .line 284
            aload 3 /* ge */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
        48: .line 283
            astore 5 /* perms */
        start local 5 // java.util.Enumeration perms
        49: .line 285
            goto 82
        50: .line 286
      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 288
            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 289
            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 290
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        55: .line 291
            new java.text.MessageFormat
            dup
        56: .line 292
            ldc "Warning.Class.not.found.class"
        57: .line 291
            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 293
            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 294
            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 295
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
        62: .line 296
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        63: .line 297
            new java.text.MessageFormat
            dup
        64: .line 298
            ldc "Warning.Invalid.argument.s.for.constructor.arg"
        65: .line 297
            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 299
            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 300
            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 304
      StackMap locals:
      StackMap stack:
            aload 6 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 82
        69: .line 306
            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 308
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        71: goto 81
        72: .line 309
      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 310
            aload 9 /* pubKey */
            ifnonnull 80
        74: .line 311
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
        75: .line 312
            new java.text.MessageFormat
            dup
        76: .line 313
            ldc "Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."
        77: .line 312
            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 314
            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 315
            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 308
      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 285
      StackMap locals:
      StackMap stack:
            aload 5 /* perms */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 50
        83: .line 320
            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 321
            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 246
      StackMap locals:
      StackMap stack:
            aload 2 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 16
        86: .line 325
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
        87: .line 326
            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 335
            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 336
            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 337
            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 338
            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 339
            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 340
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         6: .line 341
            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 357
            aload 1 /* name */
            ifnonnull 7
            aload 2 /* type */
            ifnonnull 7
         1: .line 358
            aload 3 /* provider */
            ifnonnull 7
            aload 4 /* pwdURL */
            ifnonnull 7
         2: .line 363
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
         3: .line 364
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
         4: .line 365
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
         5: .line 366
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
         6: .line 370
            return
         7: .line 373
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* policyURL */
        start local 5 // java.net.URL policyURL
         8: .line 374
            getstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
            ifnull 11
         9: .line 375
            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 376
            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 384
      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 385
            aload 1 /* name */
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
        13: .line 386
            getstatic java.io.File.separatorChar:C
            bipush 47
        14: .line 385
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* name */
        15: .line 388
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            ifnull 16
            aload 2 /* type */
            invokevirtual java.lang.String.length:()I
            ifne 17
        16: .line 389
      StackMap locals:
      StackMap stack:
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            astore 2 /* type */
        17: .line 391
      StackMap locals:
      StackMap stack:
            aload 4 /* pwdURL */
            ifnull 21
            aload 4 /* pwdURL */
            invokevirtual java.lang.String.length:()I
            ifle 21
        18: .line 392
            aload 4 /* pwdURL */
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
        19: .line 393
            getstatic java.io.File.separatorChar:C
            bipush 47
        20: .line 392
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 4 /* pwdURL */
        21: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* policyURL */
        22: .line 398
            aload 1 /* name */
        23: .line 399
            aload 2 /* type */
        24: .line 400
            aload 3 /* provider */
        25: .line 401
            aload 4 /* pwdURL */
        26: .line 402
            aconst_null
        27: .line 397
            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 403
            goto 37
      StackMap locals:
      StackMap stack: java.io.IOException
        29: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        30: .line 406
            ldc "no password provided, and no callback handler available for retrieving password"
            astore 7 /* MSG */
        start local 7 // java.lang.String MSG
        31: .line 409
            aload 6 /* ioe */
            invokevirtual java.io.IOException.getCause:()Ljava/lang/Throwable;
            astore 8 /* cause */
        start local 8 // java.lang.Throwable cause
        32: .line 410
            aload 8 /* cause */
            ifnull 36
        33: .line 411
            aload 8 /* cause */
            instanceof javax.security.auth.login.LoginException
            ifeq 36
        34: .line 412
            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 415
            new java.io.IOException
            dup
            aload 7 /* MSG */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 417
      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 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
        38: .line 422
            aload 0 /* this */
            aload 2 /* type */
            putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
        39: .line 423
            aload 0 /* this */
            aload 3 /* provider */
            putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
        40: .line 424
            aload 0 /* this */
            aload 4 /* pwdURL */
            putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
        41: .line 427
            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 435
            iload 2 /* index */
            ifge 4
         1: .line 437
            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 438
            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 439
            goto 7
         4: .line 441
      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 442
            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 443
            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 445
      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 459
            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 460
            aload 4 /* grantEntry */
            aload 2 /* newPrin */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.contains:(Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
            ifeq 3
         2: .line 461
            iconst_0
            ireturn
         3: .line 464
      StackMap locals: sun.security.provider.PolicyParser$GrantEntry
      StackMap stack:
            aload 4 /* grantEntry */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
         4: .line 463
            astore 5 /* prinList */
        start local 5 // java.util.LinkedList prinList
         5: .line 465
            iload 3 /* index */
            iconst_m1
            if_icmpeq 7
         6: .line 466
            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 468
      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 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         9: .line 471
            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 485
            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 486
            aload 4 /* grantEntry */
            aload 2 /* newPerm */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.contains:(Lsun/security/provider/PolicyParser$PermissionEntry;)Z
            ifeq 3
         2: .line 487
            iconst_0
            ireturn
         3: .line 490
      StackMap locals: sun.security.provider.PolicyParser$GrantEntry
      StackMap stack:
            aload 4 /* grantEntry */
            getfield sun.security.provider.PolicyParser$GrantEntry.permissionEntries:Ljava/util/Vector;
         4: .line 489
            astore 5 /* permList */
        start local 5 // java.util.Vector permList
         5: .line 491
            iload 3 /* index */
            iconst_m1
            if_icmpeq 7
         6: .line 492
            aload 5 /* permList */
            aload 2 /* newPerm */
            iload 3 /* index */
            invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
            goto 8
         7: .line 494
      StackMap locals: java.util.Vector
      StackMap stack:
            aload 5 /* permList */
            aload 2 /* newPerm */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         8: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         9: .line 497
            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 507
            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 508
            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 509
            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 517
            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 518
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.policytool.PolicyTool.modified:Z
         2: .line 519
            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 527
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            ifle 8
         1: .line 528
            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 529
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 530
      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 529
            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 531
            aload 1 /* entries */
            areturn
        end local 1 // sun.security.tools.policytool.PolicyEntry[] entries
         8: .line 533
      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 541
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
            ifnonnull 2
         1: .line 542
            aconst_null
            areturn
         2: .line 545
      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 546
            aload 2 /* cert */
            ifnonnull 5
         4: .line 547
            aconst_null
            areturn
         5: .line 549
      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 550
            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 558
            iconst_0
            istore 1 /* numAliases */
        start local 1 // int numAliases
         1: .line 559
            aconst_null
            astore 2 /* aliases */
        start local 2 // java.lang.String[] aliases
         2: .line 561
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
            ifnonnull 4
         3: .line 562
            aconst_null
            areturn
         4: .line 564
      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 567
            goto 8
         6: .line 568
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            pop
         7: .line 569
            iinc 1 /* numAliases */ 1
         8: .line 567
      StackMap locals:
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
         9: .line 572
            iload 1 /* numAliases */
            ifle 17
        10: .line 574
            iload 1 /* numAliases */
            anewarray java.lang.String
            astore 2 /* aliases */
        11: .line 575
            iconst_0
            istore 1 /* numAliases */
        12: .line 576
            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 577
            goto 16
        14: .line 578
      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 579
            iinc 1 /* numAliases */ 1
        16: .line 577
      StackMap locals:
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 14
        17: .line 582
      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 591
            aconst_null
            astore 2 /* signers */
        start local 2 // java.lang.String[] signers
         1: .line 592
            iconst_1
            istore 3 /* numSigners */
        start local 3 // int numSigners
         2: .line 593
            iconst_0
            istore 4 /* signedByIndex */
        start local 4 // int signedByIndex
         3: .line 594
            iconst_0
            istore 5 /* commaIndex */
        start local 5 // int commaIndex
         4: .line 595
            iconst_0
            istore 6 /* signerNum */
        start local 6 // int signerNum
         5: .line 598
            goto 10
         6: .line 599
      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 600
            iload 5 /* commaIndex */
            iflt 10
         8: .line 601
            iinc 3 /* numSigners */ 1
         9: .line 602
            iload 5 /* commaIndex */
            iconst_1
            iadd
            istore 4 /* signedByIndex */
        10: .line 598
      StackMap locals:
      StackMap stack:
            iload 5 /* commaIndex */
            ifge 6
        11: .line 605
            iload 3 /* numSigners */
            anewarray java.lang.String
            astore 2 /* signers */
        12: .line 608
            iconst_0
            istore 5 /* commaIndex */
        13: .line 609
            iconst_0
            istore 4 /* signedByIndex */
        14: .line 610
            goto 23
        15: .line 611
      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 613
            aload 2 /* signers */
            iload 6 /* signerNum */
        17: .line 614
            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 613
            aastore
        19: .line 615
            iinc 6 /* signerNum */ 1
        20: .line 616
            iload 5 /* commaIndex */
            iconst_1
            iadd
            istore 4 /* signedByIndex */
        21: .line 617
            goto 23
        22: .line 619
      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 610
      StackMap locals:
      StackMap stack:
            iload 5 /* commaIndex */
            ifge 15
        24: .line 622
            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=7, 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 632
            aload 1 /* type */
            ldc "WILDCARD_PRINCIPAL_CLASS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 633
            aload 1 /* type */
            ldc "PolicyParser.REPLACE_NAME"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 634
      StackMap locals:
      StackMap stack:
            return
         3: .line 636
      StackMap locals:
      StackMap stack:
            ldc "java.security.Principal"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* PRIN */
        start local 3 // java.lang.Class PRIN
         4: .line 637
            aload 1 /* type */
            iconst_1
         5: .line 638
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
         6: .line 637
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 4 /* pc */
        start local 4 // java.lang.Class pc
         7: .line 639
            aload 3 /* PRIN */
            aload 4 /* pc */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 13
         8: .line 640
            new java.text.MessageFormat
            dup
         9: .line 641
            ldc "Illegal.Principal.Type.type"
        10: .line 640
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        11: .line 642
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        12: .line 643
            new java.lang.InstantiationException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.InstantiationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        13: .line 646
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack:
            ldc "javax.security.auth.x500.X500Principal"
            aload 4 /* pc */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 652
            new javax.security.auth.x500.X500Principal
            aload 2 /* name */
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
        15: .line 654
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Class pc
        end local 3 // java.lang.Class PRIN
        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   16     0    this  Lsun/security/tools/policytool/PolicyTool;
            0   16     1    type  Ljava/lang/String;
            0   16     2    name  Ljava/lang/String;
            4   16     3    PRIN  Ljava/lang/Class<*>;
            7   16     4      pc  Ljava/lang/Class<*>;
           11   13     5    form  Ljava/text/MessageFormat;
           12   13     6  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 671
            aload 1 /* type */
            iconst_1
         1: .line 672
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
         2: .line 671
            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 673
            aconst_null
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
         4: .line 674
            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 675
            aload 2 /* name */
            ifnull 6
            aload 6 /* objects */
            aload 2 /* name */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         6: .line 676
      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 677
      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 680
      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 681
            goto 17
        10: .line 682
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        11: .line 684
            aload 6 /* objects */
            aconst_null
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        12: .line 689
      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 690
            goto 17
        14: .line 691
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        15: .line 693
            aload 6 /* objects */
            aconst_null
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        16: .line 697
      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 700
      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 701
            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 702
            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 709
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 711
            iconst_0
            istore 1 /* n */
            goto 14
         2: .line 713
      StackMap locals: int
      StackMap stack:
            aload 0 /* args */
            iload 1 /* n */
            aaload
            astore 2 /* flags */
        start local 2 // java.lang.String flags
         3: .line 715
            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 716
            iinc 1 /* n */ 1
            iload 1 /* n */
            aload 0 /* args */
            arraylength
            if_icmpne 5
            invokestatic sun.security.tools.policytool.PolicyTool.usage:()V
         5: .line 717
      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 718
            goto 13
         7: .line 719
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
         8: .line 720
            ldc "Illegal.option.option"
         9: .line 719
            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 721
            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 722
            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 723
            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 711
      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 726
      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 729
            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 730
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         2: .line 731
            getstatic java.lang.System.out:Ljava/io/PrintStream;
         3: .line 732
            ldc ".file.file.policy.file.location"
         4: .line 731
            invokestatic sun.security.tools.policytool.PolicyTool.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 733
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         6: .line 735
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         7: .line 736
            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 742
            aload 0 /* args */
            invokestatic sun.security.tools.policytool.PolicyTool.parseArgs:([Ljava/lang/String;)V
         1: .line 743
            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
         2: .line 749
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     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 755
            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 768
            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 780
            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 781
            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 792
            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 793
            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 806
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 7
         2: .line 807
      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 808
            aload 0 /* s */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpeq 5
         4: .line 809
            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 811
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
         6: .line 806
      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 815
            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 828
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 7
         2: .line 829
      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 830
            aload 0 /* s */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpeq 5
         4: .line 832
            iload 1 /* i */
            ireturn
         5: .line 834
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
         6: .line 828
      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 838
            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 850
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* s */
        start local 1 // java.lang.StringBuilder s
         1: .line 851
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 852
      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 853
            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 854
            aload 0 /* message */
            iload 2 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 38
            if_icmpne 7
         6: .line 855
      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 851
      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 858
            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