public class org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader extends java.io.LineNumberReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader
  super_class: java.io.LineNumberReader
{
  private static final java.util.regex.Pattern PROPERTY_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int IDX_KEY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int IDX_VALUE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int IDX_SEPARATOR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private java.util.List<java.lang.String> commentLines;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

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

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

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

  private char delimiter;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 664
            new java.lang.StringBuilder
            dup
            ldc "(([\\S&&[^\\\\"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            getstatic org.apache.commons.configuration.PropertiesConfiguration.SEPARATORS:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 665
            ldc "]]|\\\\.)*)(\\s*(\\s+|["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.lang.String
            dup
            getstatic org.apache.commons.configuration.PropertiesConfiguration.SEPARATORS:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 666
            ldc "])\\s*)(.*)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 664
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
         4: .line 663
            putstatic org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.PROPERTY_PATTERN:Ljava/util/regex/Pattern;
         5: .line 675
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.Reader);
    descriptor: (Ljava/io/Reader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
        start local 1 // java.io.Reader reader
         0: .line 699
            aload 0 /* this */
            aload 1 /* reader */
            invokestatic org.apache.commons.configuration.AbstractConfiguration.getDefaultListDelimiter:()C
            invokespecial org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.<init>:(Ljava/io/Reader;C)V
         1: .line 700
            return
        end local 1 // java.io.Reader reader
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            0    2     1  reader  Ljava/io/Reader;
    MethodParameters:
        Name  Flags
      reader  

  public void <init>(java.io.Reader, char);
    descriptor: (Ljava/io/Reader;C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
        start local 1 // java.io.Reader reader
        start local 2 // char listDelimiter
         0: .line 712
            aload 0 /* this */
            aload 1 /* reader */
            invokespecial java.io.LineNumberReader.<init>:(Ljava/io/Reader;)V
         1: .line 687
            aload 0 /* this */
            ldc " = "
            putfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.propertySeparator:Ljava/lang/String;
         2: .line 713
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.commentLines:Ljava/util/List;
         3: .line 714
            aload 0 /* this */
            iload 2 /* listDelimiter */
            putfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.delimiter:C
         4: .line 715
            return
        end local 2 // char listDelimiter
        end local 1 // java.io.Reader reader
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            0    5     1         reader  Ljava/io/Reader;
            0    5     2  listDelimiter  C
    MethodParameters:
               Name  Flags
      reader         
      listDelimiter  

  public java.lang.String readProperty();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
         0: .line 730
            aload 0 /* this */
            getfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.commentLines:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 731
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuilder buffer
         2: .line 735
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.readLine:()Ljava/lang/String;
            astore 2 /* line */
        start local 2 // java.lang.String line
         3: .line 736
            aload 2 /* line */
            ifnonnull 5
         4: .line 739
            aconst_null
            areturn
         5: .line 742
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* line */
            invokestatic org.apache.commons.configuration.PropertiesConfiguration.isCommentLine:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 744
            aload 0 /* this */
            getfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.commentLines:Ljava/util/List;
            aload 2 /* line */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 745
            goto 2
         8: .line 748
      StackMap locals:
      StackMap stack:
            aload 2 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 2 /* line */
         9: .line 750
            aload 2 /* line */
            invokestatic org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.checkCombineLines:(Ljava/lang/String;)Z
            ifeq 13
        10: .line 752
            aload 2 /* line */
            iconst_0
            aload 2 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* line */
        11: .line 753
            aload 1 /* buffer */
            aload 2 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 754
            goto 2
        13: .line 757
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 2 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.lang.String line
        14: .line 761
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buffer
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            2   15     1  buffer  Ljava/lang/StringBuilder;
            3   14     2    line  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  public boolean nextProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
         0: .line 777
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.readProperty:()Ljava/lang/String;
            astore 1 /* line */
        start local 1 // java.lang.String line
         1: .line 779
            aload 1 /* line */
            ifnonnull 3
         2: .line 781
            iconst_0
            ireturn
         3: .line 785
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            invokevirtual org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.parseProperty:(Ljava/lang/String;)V
         4: .line 786
            iconst_1
            ireturn
        end local 1 // java.lang.String line
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            1    5     1  line  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  public java.util.List<java.lang.String> getCommentLines();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
         0: .line 798
            aload 0 /* this */
            getfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.commentLines:Ljava/util/List;
            areturn
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.lang.String getPropertyName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
         0: .line 811
            aload 0 /* this */
            getfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.propertyName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;

  public java.lang.String getPropertyValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
         0: .line 824
            aload 0 /* this */
            getfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.propertyValue:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;

  public java.lang.String getPropertySeparator();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
         0: .line 837
            aload 0 /* this */
            getfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.propertySeparator:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;

  protected void parseProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
        start local 1 // java.lang.String line
         0: .line 852
            aload 1 /* line */
            invokestatic org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.doParseProperty:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* property */
        start local 2 // java.lang.String[] property
         1: .line 853
            aload 0 /* this */
            aload 2 /* property */
            iconst_0
            aaload
            invokevirtual org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.initPropertyName:(Ljava/lang/String;)V
         2: .line 854
            aload 0 /* this */
            aload 2 /* property */
            iconst_1
            aaload
            invokevirtual org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.initPropertyValue:(Ljava/lang/String;)V
         3: .line 855
            aload 0 /* this */
            aload 2 /* property */
            iconst_2
            aaload
            invokevirtual org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.initPropertySeparator:(Ljava/lang/String;)V
         4: .line 856
            return
        end local 2 // java.lang.String[] property
        end local 1 // java.lang.String line
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            0    5     1      line  Ljava/lang/String;
            1    5     2  property  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      line  

  protected void initPropertyName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
        start local 1 // java.lang.String name
         0: .line 869
            aload 0 /* this */
            aload 1 /* name */
            invokestatic org.apache.commons.lang.StringEscapeUtils.unescapeJava:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.propertyName:Ljava/lang/String;
         1: .line 870
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected void initPropertyValue(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
        start local 1 // java.lang.String value
         0: .line 883
            aload 0 /* this */
            aload 1 /* value */
            aload 0 /* this */
            getfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.delimiter:C
            invokestatic org.apache.commons.configuration.PropertiesConfiguration.unescapeJava:(Ljava/lang/String;C)Ljava/lang/String;
            putfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.propertyValue:Ljava/lang/String;
         1: .line 884
            return
        end local 1 // java.lang.String value
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  protected void initPropertySeparator(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
        start local 1 // java.lang.String value
         0: .line 897
            aload 0 /* this */
            aload 1 /* value */
            putfield org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.propertySeparator:Ljava/lang/String;
         1: .line 898
            return
        end local 1 // java.lang.String value
        end local 0 // org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/commons/configuration/PropertiesConfiguration$PropertiesReader;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  private static boolean checkCombineLines(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String line
         0: .line 909
            aload 0 /* line */
            invokestatic org.apache.commons.configuration.PropertiesConfiguration.countTrailingBS:(Ljava/lang/String;)I
            iconst_2
            irem
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String line
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  line  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      line  

  private static java.lang.String[] doParseProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String line
         0: .line 920
            getstatic org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader.PROPERTY_PATTERN:Ljava/util/regex/Pattern;
            aload 0 /* line */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 1 /* matcher */
        start local 1 // java.util.regex.Matcher matcher
         1: .line 922
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc ""
            aastore
            dup
            iconst_1
            ldc ""
            aastore
            dup
            iconst_2
            ldc ""
            aastore
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 924
            aload 1 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 6
         3: .line 926
            aload 2 /* result */
            iconst_0
            aload 1 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aastore
         4: .line 927
            aload 2 /* result */
            iconst_1
            aload 1 /* matcher */
            iconst_5
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aastore
         5: .line 928
            aload 2 /* result */
            iconst_2
            aload 1 /* matcher */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            aastore
         6: .line 931
      StackMap locals: java.util.regex.Matcher java.lang.String[]
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // java.util.regex.Matcher matcher
        end local 0 // java.lang.String line
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     line  Ljava/lang/String;
            1    7     1  matcher  Ljava/util/regex/Matcher;
            2    7     2   result  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      line  
}
SourceFile: "PropertiesConfiguration.java"
NestHost: org.apache.commons.configuration.PropertiesConfiguration
InnerClasses:
  public PropertiesReader = org.apache.commons.configuration.PropertiesConfiguration$PropertiesReader of org.apache.commons.configuration.PropertiesConfiguration