public class org.codehaus.plexus.classworlds.launcher.ConfigurationParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.codehaus.plexus.classworlds.launcher.ConfigurationParser
  super_class: java.lang.Object
{
  public static final java.lang.String MAIN_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "main is"

  public static final java.lang.String SET_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "set"

  public static final java.lang.String IMPORT_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "import"

  public static final java.lang.String LOAD_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "load"

  public static final java.lang.String OPTIONALLY_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "optionally"

  private org.codehaus.plexus.classworlds.launcher.ConfigurationHandler handler;
    descriptor: Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Properties systemProperties;
    descriptor: Ljava/util/Properties;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.codehaus.plexus.classworlds.launcher.ConfigurationHandler, java.util.Properties);
    descriptor: (Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
        start local 1 // org.codehaus.plexus.classworlds.launcher.ConfigurationHandler handler
        start local 2 // java.util.Properties systemProperties
         0: .line 61
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aload 1 /* handler */
            putfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
         2: .line 64
            aload 0 /* this */
            aload 2 /* systemProperties */
            putfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.systemProperties:Ljava/util/Properties;
         3: .line 65
            return
        end local 2 // java.util.Properties systemProperties
        end local 1 // org.codehaus.plexus.classworlds.launcher.ConfigurationHandler handler
        end local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/codehaus/plexus/classworlds/launcher/ConfigurationParser;
            0    4     1           handler  Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            0    4     2  systemProperties  Ljava/util/Properties;
    MethodParameters:
                  Name  Flags
      handler           
      systemProperties  

  public void parse(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=16, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
        start local 1 // java.io.InputStream is
         0: .line 79
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* is */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* reader */
        start local 2 // java.io.BufferedReader reader
         1: .line 81
            aconst_null
            astore 3 /* line */
        start local 3 // java.lang.String line
         2: .line 83
            iconst_0
            istore 4 /* lineNo */
        start local 4 // int lineNo
         3: .line 85
            iconst_0
            istore 5 /* mainSet */
        start local 5 // boolean mainSet
         4: .line 87
            aconst_null
            astore 6 /* curRealm */
        start local 6 // java.lang.String curRealm
         5: .line 91
      StackMap locals: org.codehaus.plexus.classworlds.launcher.ConfigurationParser java.io.InputStream java.io.BufferedReader java.lang.String int int java.lang.String
      StackMap stack:
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
         6: .line 93
            aload 3 /* line */
            ifnonnull 8
         7: .line 95
            goto 106
         8: .line 98
      StackMap locals:
      StackMap stack:
            iinc 4 /* lineNo */ 1
         9: .line 99
            aload 3 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 3 /* line */
        10: .line 101
            aload 0 /* this */
            aload 3 /* line */
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.canIgnore:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 103
            goto 5
        12: .line 106
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "main is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        13: .line 108
            iload 5 /* mainSet */
            ifeq 15
        14: .line 110
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            ldc "Duplicate main configuration"
            iload 4 /* lineNo */
            aload 3 /* line */
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            athrow
        15: .line 113
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "main is"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* conf */
        start local 7 // java.lang.String conf
        16: .line 115
            aload 7 /* conf */
            ldc "from"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 8 /* fromLoc */
        start local 8 // int fromLoc
        17: .line 117
            iload 8 /* fromLoc */
            ifge 19
        18: .line 119
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            ldc "Missing from clause"
            iload 4 /* lineNo */
            aload 3 /* line */
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            athrow
        19: .line 122
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* conf */
            iconst_0
            iload 8 /* fromLoc */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.filter:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* mainClassName */
        start local 9 // java.lang.String mainClassName
        20: .line 124
            aload 0 /* this */
            aload 7 /* conf */
            iload 8 /* fromLoc */
            iconst_4
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.filter:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* mainRealmName */
        start local 10 // java.lang.String mainRealmName
        21: .line 126
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            aload 9 /* mainClassName */
            aload 10 /* mainRealmName */
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.setAppMain:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 128
            iconst_1
            istore 5 /* mainSet */
        end local 10 // java.lang.String mainRealmName
        end local 9 // java.lang.String mainClassName
        end local 8 // int fromLoc
        end local 7 // java.lang.String conf
        23: .line 129
            goto 5
        24: .line 130
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "set"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 58
        25: .line 132
            aload 3 /* line */
            ldc "set"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* conf */
        start local 7 // java.lang.String conf
        26: .line 134
            aload 7 /* conf */
            ldc " using"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            istore 8 /* usingLoc */
        start local 8 // int usingLoc
        27: .line 136
            aconst_null
            astore 9 /* property */
        start local 9 // java.lang.String property
        28: .line 138
            aconst_null
            astore 10 /* propertiesFileName */
        start local 10 // java.lang.String propertiesFileName
        29: .line 140
            iload 8 /* usingLoc */
            ifle 33
        30: .line 142
            aload 7 /* conf */
            iconst_0
            iload 8 /* usingLoc */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 9 /* property */
        31: .line 144
            aload 0 /* this */
            aload 7 /* conf */
            iload 8 /* usingLoc */
            iconst_5
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.filter:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* propertiesFileName */
        32: .line 146
            aload 10 /* propertiesFileName */
            astore 7 /* conf */
        33: .line 149
      StackMap locals: org.codehaus.plexus.classworlds.launcher.ConfigurationParser java.io.InputStream java.io.BufferedReader java.lang.String int int java.lang.String java.lang.String int java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            astore 11 /* defaultValue */
        start local 11 // java.lang.String defaultValue
        34: .line 151
            aload 7 /* conf */
            ldc " default"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            istore 12 /* defaultLoc */
        start local 12 // int defaultLoc
        35: .line 153
            iload 12 /* defaultLoc */
            ifle 41
        36: .line 155
            aload 0 /* this */
            aload 7 /* conf */
            iload 12 /* defaultLoc */
            bipush 7
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.filter:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* defaultValue */
        37: .line 157
            aload 9 /* property */
            ifnonnull 40
        38: .line 159
            aload 7 /* conf */
            iconst_0
            iload 12 /* defaultLoc */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 9 /* property */
        39: .line 160
            goto 41
        40: .line 163
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 7 /* conf */
            iconst_0
            iload 12 /* defaultLoc */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 10 /* propertiesFileName */
        41: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.systemProperties:Ljava/util/Properties;
            aload 9 /* property */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* value */
        start local 13 // java.lang.String value
        42: .line 169
            aload 13 /* value */
            ifnull 44
        43: .line 171
            goto 5
        44: .line 174
      StackMap locals: java.lang.String
      StackMap stack:
            aload 10 /* propertiesFileName */
            ifnull 52
        45: .line 176
            new java.io.File
            dup
            aload 10 /* propertiesFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 14 /* propertiesFile */
        start local 14 // java.io.File propertiesFile
        46: .line 178
            aload 14 /* propertiesFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 52
        47: .line 180
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 15 /* properties */
        start local 15 // java.util.Properties properties
        48: .line 184
            aload 15 /* properties */
            new java.io.FileInputStream
            dup
            aload 10 /* propertiesFileName */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        49: .line 186
            aload 15 /* properties */
            aload 9 /* property */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* value */
        50: .line 187
            goto 52
        51: .line 188
      StackMap locals: org.codehaus.plexus.classworlds.launcher.ConfigurationParser java.io.InputStream java.io.BufferedReader java.lang.String int int java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int java.lang.String java.io.File java.util.Properties
      StackMap stack: java.lang.Exception
            pop
        end local 15 // java.util.Properties properties
        end local 14 // java.io.File propertiesFile
        52: .line 195
      StackMap locals:
      StackMap stack:
            aload 13 /* value */
            ifnonnull 54
            aload 11 /* defaultValue */
            ifnull 54
        53: .line 197
            aload 11 /* defaultValue */
            astore 13 /* value */
        54: .line 200
      StackMap locals:
      StackMap stack:
            aload 13 /* value */
            ifnull 5
        55: .line 202
            aload 0 /* this */
            aload 13 /* value */
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.filter:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* value */
        56: .line 203
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.systemProperties:Ljava/util/Properties;
            aload 9 /* property */
            aload 13 /* value */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 13 // java.lang.String value
        end local 12 // int defaultLoc
        end local 11 // java.lang.String defaultValue
        end local 10 // java.lang.String propertiesFileName
        end local 9 // java.lang.String property
        end local 8 // int usingLoc
        end local 7 // java.lang.String conf
        57: .line 205
            goto 5
        58: .line 206
      StackMap locals: org.codehaus.plexus.classworlds.launcher.ConfigurationParser java.io.InputStream java.io.BufferedReader java.lang.String int int java.lang.String
      StackMap stack:
            aload 3 /* line */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 66
        59: .line 208
            aload 3 /* line */
            ldc "]"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 7 /* rbrack */
        start local 7 // int rbrack
        60: .line 210
            iload 7 /* rbrack */
            ifge 62
        61: .line 212
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            ldc "Invalid realm specifier"
            iload 4 /* lineNo */
            aload 3 /* line */
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            athrow
        62: .line 215
      StackMap locals: int
      StackMap stack:
            aload 3 /* line */
            iconst_1
            iload 7 /* rbrack */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* realmName */
        start local 8 // java.lang.String realmName
        63: .line 217
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            aload 8 /* realmName */
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.addRealm:(Ljava/lang/String;)V
        64: .line 219
            aload 8 /* realmName */
            astore 6 /* curRealm */
        end local 8 // java.lang.String realmName
        end local 7 // int rbrack
        65: .line 220
            goto 5
        66: .line 221
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "import"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 77
        67: .line 223
            aload 6 /* curRealm */
            ifnonnull 69
        68: .line 225
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            ldc "Unhandled import"
            iload 4 /* lineNo */
            aload 3 /* line */
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            athrow
        69: .line 228
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "import"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* conf */
        start local 7 // java.lang.String conf
        70: .line 230
            aload 7 /* conf */
            ldc "from"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 8 /* fromLoc */
        start local 8 // int fromLoc
        71: .line 232
            iload 8 /* fromLoc */
            ifge 73
        72: .line 234
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            ldc "Missing from clause"
            iload 4 /* lineNo */
            aload 3 /* line */
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            athrow
        73: .line 237
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 7 /* conf */
            iconst_0
            iload 8 /* fromLoc */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 9 /* importSpec */
        start local 9 // java.lang.String importSpec
        74: .line 239
            aload 7 /* conf */
            iload 8 /* fromLoc */
            iconst_4
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 10 /* relamName */
        start local 10 // java.lang.String relamName
        75: .line 241
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            aload 10 /* relamName */
            aload 9 /* importSpec */
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.addImportFrom:(Ljava/lang/String;Ljava/lang/String;)V
        end local 10 // java.lang.String relamName
        end local 9 // java.lang.String importSpec
        end local 8 // int fromLoc
        end local 7 // java.lang.String conf
        76: .line 243
            goto 5
        77: .line 244
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "load"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 91
        78: .line 246
            aload 3 /* line */
            ldc "load"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* constituent */
        start local 7 // java.lang.String constituent
        79: .line 248
            aload 0 /* this */
            aload 7 /* constituent */
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.filter:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* constituent */
        80: .line 250
            aload 7 /* constituent */
            ldc "*"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 83
        81: .line 252
            aload 0 /* this */
            aload 7 /* constituent */
            iconst_0
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.loadGlob:(Ljava/lang/String;Z)V
        82: .line 253
            goto 5
        83: .line 256
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 7 /* constituent */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 8 /* file */
        start local 8 // java.io.File file
        84: .line 258
            aload 8 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 87
        85: .line 260
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            aload 8 /* file */
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.addLoadFile:(Ljava/io/File;)V
        86: .line 261
            goto 5
        87: .line 266
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            new java.net.URL
            dup
            aload 7 /* constituent */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.addLoadURL:(Ljava/net/URL;)V
        88: .line 267
            goto 5
        89: .line 268
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        90: .line 270
            new java.io.FileNotFoundException
            dup
            aload 7 /* constituent */
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.io.File file
        end local 7 // java.lang.String constituent
        91: .line 275
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "optionally"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 105
        92: .line 277
            aload 3 /* line */
            ldc "optionally"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* constituent */
        start local 7 // java.lang.String constituent
        93: .line 279
            aload 0 /* this */
            aload 7 /* constituent */
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.filter:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* constituent */
        94: .line 281
            aload 7 /* constituent */
            ldc "*"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 97
        95: .line 283
            aload 0 /* this */
            aload 7 /* constituent */
            iconst_1
            invokevirtual org.codehaus.plexus.classworlds.launcher.ConfigurationParser.loadGlob:(Ljava/lang/String;Z)V
        96: .line 284
            goto 5
        97: .line 287
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 7 /* constituent */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 8 /* file */
        start local 8 // java.io.File file
        98: .line 289
            aload 8 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 101
        99: .line 291
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            aload 8 /* file */
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.addLoadFile:(Ljava/io/File;)V
       100: .line 292
            goto 5
       101: .line 297
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            new java.net.URL
            dup
            aload 7 /* constituent */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.addLoadURL:(Ljava/net/URL;)V
       102: .line 298
            goto 5
       103: .line 299
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        end local 8 // java.io.File file
        end local 7 // java.lang.String constituent
       104: .line 305
            goto 5
       105: .line 308
      StackMap locals:
      StackMap stack:
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            ldc "Unhandled configuration"
            iload 4 /* lineNo */
            aload 3 /* line */
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            athrow
       106: .line 312
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
       107: .line 313
            return
        end local 6 // java.lang.String curRealm
        end local 5 // boolean mainSet
        end local 4 // int lineNo
        end local 3 // java.lang.String line
        end local 2 // java.io.BufferedReader reader
        end local 1 // java.io.InputStream is
        end local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  108     0                this  Lorg/codehaus/plexus/classworlds/launcher/ConfigurationParser;
            0  108     1                  is  Ljava/io/InputStream;
            1  108     2              reader  Ljava/io/BufferedReader;
            2  108     3                line  Ljava/lang/String;
            3  108     4              lineNo  I
            4  108     5             mainSet  Z
            5  108     6            curRealm  Ljava/lang/String;
           16   23     7                conf  Ljava/lang/String;
           17   23     8             fromLoc  I
           20   23     9       mainClassName  Ljava/lang/String;
           21   23    10       mainRealmName  Ljava/lang/String;
           26   57     7                conf  Ljava/lang/String;
           27   57     8            usingLoc  I
           28   57     9            property  Ljava/lang/String;
           29   57    10  propertiesFileName  Ljava/lang/String;
           34   57    11        defaultValue  Ljava/lang/String;
           35   57    12          defaultLoc  I
           42   57    13               value  Ljava/lang/String;
           46   52    14      propertiesFile  Ljava/io/File;
           48   52    15          properties  Ljava/util/Properties;
           60   65     7              rbrack  I
           63   65     8           realmName  Ljava/lang/String;
           70   76     7                conf  Ljava/lang/String;
           71   76     8             fromLoc  I
           74   76     9          importSpec  Ljava/lang/String;
           75   76    10           relamName  Ljava/lang/String;
           79   91     7         constituent  Ljava/lang/String;
           84   91     8                file  Ljava/io/File;
           93  104     7         constituent  Ljava/lang/String;
           98  104     8                file  Ljava/io/File;
      Exception table:
        from    to  target  type
          48    50      51  Class java.lang.Exception
          87    88      89  Class java.net.MalformedURLException
         101   102     103  Class java.net.MalformedURLException
    Exceptions:
      throws java.io.IOException, org.codehaus.plexus.classworlds.launcher.ConfigurationException, org.codehaus.plexus.classworlds.realm.DuplicateRealmException, org.codehaus.plexus.classworlds.realm.NoSuchRealmException
    MethodParameters:
      Name  Flags
      is    

  protected void loadGlob(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
        start local 1 // java.lang.String line
        start local 2 // boolean optionally
         0: .line 330
            new java.io.File
            dup
            aload 1 /* line */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* globFile */
        start local 3 // java.io.File globFile
         1: .line 332
            aload 3 /* globFile */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 4 /* dir */
        start local 4 // java.io.File dir
         2: .line 333
            aload 4 /* dir */
            invokevirtual java.io.File.exists:()Z
            ifne 6
         3: .line 335
            iload 2 /* optionally */
            ifeq 5
         4: .line 337
            return
         5: .line 341
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            new java.io.FileNotFoundException
            dup
            aload 4 /* dir */
            invokevirtual java.io.File.toString:()Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 345
      StackMap locals:
      StackMap stack:
            aload 3 /* globFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 5 /* localName */
        start local 5 // java.lang.String localName
         7: .line 347
            aload 5 /* localName */
            ldc "*"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 6 /* starLoc */
        start local 6 // int starLoc
         8: .line 349
            aload 5 /* localName */
            iconst_0
            iload 6 /* starLoc */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* prefix */
        start local 7 // java.lang.String prefix
         9: .line 351
            aload 5 /* localName */
            iload 6 /* starLoc */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 8 /* suffix */
        start local 8 // java.lang.String suffix
        10: .line 353
            aload 4 /* dir */
            new org.codehaus.plexus.classworlds.launcher.ConfigurationParser$1
            dup
            aload 0 /* this */
            aload 7 /* prefix */
            aload 8 /* suffix */
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationParser$1.<init>:(Lorg/codehaus/plexus/classworlds/launcher/ConfigurationParser;Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.listFiles:(Ljava/io/FilenameFilter;)[Ljava/io/File;
            astore 9 /* matches */
        start local 9 // java.io.File[] matches
        11: .line 372
            aload 9 /* matches */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 15
      StackMap locals: org.codehaus.plexus.classworlds.launcher.ConfigurationParser java.lang.String int java.io.File java.io.File java.lang.String int java.lang.String java.lang.String java.io.File[] top int int java.io.File[]
      StackMap stack:
        12: aload 13
            iload 11
            aaload
            astore 10 /* match */
        start local 10 // java.io.File match
        13: .line 374
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.handler:Lorg/codehaus/plexus/classworlds/launcher/ConfigurationHandler;
            aload 10 /* match */
            invokeinterface org.codehaus.plexus.classworlds.launcher.ConfigurationHandler.addLoadFile:(Ljava/io/File;)V
        end local 10 // java.io.File match
        14: .line 372
            iinc 11 1
      StackMap locals:
      StackMap stack:
        15: iload 11
            iload 12
            if_icmplt 12
        16: .line 376
            return
        end local 9 // java.io.File[] matches
        end local 8 // java.lang.String suffix
        end local 7 // java.lang.String prefix
        end local 6 // int starLoc
        end local 5 // java.lang.String localName
        end local 4 // java.io.File dir
        end local 3 // java.io.File globFile
        end local 2 // boolean optionally
        end local 1 // java.lang.String line
        end local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/codehaus/plexus/classworlds/launcher/ConfigurationParser;
            0   17     1        line  Ljava/lang/String;
            0   17     2  optionally  Z
            1   17     3    globFile  Ljava/io/File;
            2   17     4         dir  Ljava/io/File;
            7   17     5   localName  Ljava/lang/String;
            8   17     6     starLoc  I
            9   17     7      prefix  Ljava/lang/String;
           10   17     8      suffix  Ljava/lang/String;
           11   17     9     matches  [Ljava/io/File;
           13   14    10       match  Ljava/io/File;
    Exceptions:
      throws java.net.MalformedURLException, java.io.FileNotFoundException, org.codehaus.plexus.classworlds.launcher.ConfigurationException
    MethodParameters:
            Name  Flags
      line        
      optionally  

  protected java.lang.String filter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
        start local 1 // java.lang.String text
         0: .line 389
            ldc ""
            astore 2 /* result */
        start local 2 // java.lang.String result
         1: .line 391
            iconst_0
            istore 3 /* cur */
        start local 3 // int cur
         2: .line 392
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            istore 4 /* textLen */
        start local 4 // int textLen
         3: .line 394
            iconst_m1
            istore 5 /* propStart */
        start local 5 // int propStart
         4: .line 395
            iconst_m1
            istore 6 /* propStop */
        start local 6 // int propStop
         5: .line 397
            aconst_null
            astore 7 /* propName */
        start local 7 // java.lang.String propName
         6: .line 398
            aconst_null
            astore 8 /* propValue */
        start local 8 // java.lang.String propValue
         7: .line 400
            goto 23
         8: .line 402
      StackMap locals: org.codehaus.plexus.classworlds.launcher.ConfigurationParser java.lang.String java.lang.String int int int int java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* text */
            ldc "${"
            iload 3 /* cur */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 5 /* propStart */
         9: .line 404
            iload 5 /* propStart */
            ifge 11
        10: .line 406
            goto 24
        11: .line 409
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* result */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* text */
            iload 3 /* cur */
            iload 5 /* propStart */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* result */
        12: .line 411
            aload 1 /* text */
            ldc "}"
            iload 5 /* propStart */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 6 /* propStop */
        13: .line 413
            iload 6 /* propStop */
            ifge 15
        14: .line 415
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unterminated property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* text */
            iload 5 /* propStart */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 418
      StackMap locals:
      StackMap stack:
            aload 1 /* text */
            iload 5 /* propStart */
            iconst_2
            iadd
            iload 6 /* propStop */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* propName */
        16: .line 420
            aload 0 /* this */
            getfield org.codehaus.plexus.classworlds.launcher.ConfigurationParser.systemProperties:Ljava/util/Properties;
            aload 7 /* propName */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* propValue */
        17: .line 423
            aload 7 /* propName */
            ldc "basedir"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
            aload 8 /* propValue */
            ifnull 18
            aload 8 /* propValue */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 425
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            ldc ""
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 8 /* propValue */
        19: .line 429
      StackMap locals:
      StackMap stack:
            aload 8 /* propValue */
            ifnonnull 21
        20: .line 431
            new org.codehaus.plexus.classworlds.launcher.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No such property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* propName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.codehaus.plexus.classworlds.launcher.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 433
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* result */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* propValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* result */
        22: .line 435
            iload 6 /* propStop */
            iconst_1
            iadd
            istore 3 /* cur */
        23: .line 400
      StackMap locals:
      StackMap stack:
            iload 3 /* cur */
            iload 4 /* textLen */
            if_icmplt 8
        24: .line 438
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* result */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* text */
            iload 3 /* cur */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* result */
        25: .line 440
            aload 2 /* result */
            areturn
        end local 8 // java.lang.String propValue
        end local 7 // java.lang.String propName
        end local 6 // int propStop
        end local 5 // int propStart
        end local 4 // int textLen
        end local 3 // int cur
        end local 2 // java.lang.String result
        end local 1 // java.lang.String text
        end local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Lorg/codehaus/plexus/classworlds/launcher/ConfigurationParser;
            0   26     1       text  Ljava/lang/String;
            1   26     2     result  Ljava/lang/String;
            2   26     3        cur  I
            3   26     4    textLen  I
            4   26     5  propStart  I
            5   26     6   propStop  I
            6   26     7   propName  Ljava/lang/String;
            7   26     8  propValue  Ljava/lang/String;
    Exceptions:
      throws org.codehaus.plexus.classworlds.launcher.ConfigurationException
    MethodParameters:
      Name  Flags
      text  

  private boolean canIgnore(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
        start local 1 // java.lang.String line
         0: .line 453
            aload 1 /* line */
            invokevirtual java.lang.String.length:()I
            ifeq 1
            aload 1 /* line */
            ldc "#"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.String line
        end local 0 // org.codehaus.plexus.classworlds.launcher.ConfigurationParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/codehaus/plexus/classworlds/launcher/ConfigurationParser;
            0    2     1  line  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      line  
}
SourceFile: "ConfigurationParser.java"
NestMembers:
  org.codehaus.plexus.classworlds.launcher.ConfigurationParser$1
InnerClasses:
  org.codehaus.plexus.classworlds.launcher.ConfigurationParser$1