class org.joda.time.format.PeriodFormatterBuilder$Separator implements org.joda.time.format.PeriodPrinter, org.joda.time.format.PeriodParser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.joda.time.format.PeriodFormatterBuilder$Separator
  super_class: java.lang.Object
{
  private final java.lang.String iText;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String iFinalText;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] iParsedForms;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean iUseBefore;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean iUseAfter;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.joda.time.format.PeriodPrinter iBeforePrinter;
    descriptor: Lorg/joda/time/format/PeriodPrinter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile org.joda.time.format.PeriodPrinter iAfterPrinter;
    descriptor: Lorg/joda/time/format/PeriodPrinter;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final org.joda.time.format.PeriodParser iBeforeParser;
    descriptor: Lorg/joda/time/format/PeriodParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile org.joda.time.format.PeriodParser iAfterParser;
    descriptor: Lorg/joda/time/format/PeriodParser;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  void <init>(java.lang.String, java.lang.String, java.lang.String[], org.joda.time.format.PeriodPrinter, org.joda.time.format.PeriodParser, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Lorg/joda/time/format/PeriodPrinter;Lorg/joda/time/format/PeriodParser;ZZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=8
        start local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
        start local 1 // java.lang.String text
        start local 2 // java.lang.String finalText
        start local 3 // java.lang.String[] variants
        start local 4 // org.joda.time.format.PeriodPrinter beforePrinter
        start local 5 // org.joda.time.format.PeriodParser beforeParser
        start local 6 // boolean useBefore
        start local 7 // boolean useAfter
         0: .line 1923
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1926
            aload 0 /* this */
            aload 1 /* text */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
         2: .line 1927
            aload 0 /* this */
            aload 2 /* finalText */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iFinalText:Ljava/lang/String;
         3: .line 1929
            aload 2 /* finalText */
            ifnull 4
            aload 1 /* text */
            aload 2 /* finalText */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 1930
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator java.lang.String java.lang.String java.lang.String[] org.joda.time.format.PeriodPrinter org.joda.time.format.PeriodParser int int
      StackMap stack:
            aload 3 /* variants */
            ifnull 5
            aload 3 /* variants */
            arraylength
            ifne 7
         5: .line 1932
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* text */
            aastore
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iParsedForms:[Ljava/lang/String;
         6: .line 1933
            goto 18
         7: .line 1935
      StackMap locals:
      StackMap stack:
            new java.util.TreeSet
            dup
            getstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
            astore 8 /* parsedSet */
        start local 8 // java.util.TreeSet parsedSet
         8: .line 1936
            aload 8 /* parsedSet */
            aload 1 /* text */
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1937
            aload 8 /* parsedSet */
            aload 2 /* finalText */
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1938
            aload 3 /* variants */
            ifnull 15
        11: .line 1939
            aload 3 /* variants */
            arraylength
            istore 9 /* i */
        start local 9 // int i
        12: goto 14
        13: .line 1940
      StackMap locals: java.util.TreeSet int
      StackMap stack:
            aload 8 /* parsedSet */
            aload 3 /* variants */
            iload 9 /* i */
            aaload
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1939
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ -1
            iload 9 /* i */
            ifge 13
        end local 9 // int i
        15: .line 1943
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 8 /* parsedSet */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 9 /* parsedList */
        start local 9 // java.util.ArrayList parsedList
        16: .line 1944
            aload 9 /* parsedList */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        17: .line 1945
            aload 0 /* this */
            aload 9 /* parsedList */
            aload 9 /* parsedList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iParsedForms:[Ljava/lang/String;
        end local 9 // java.util.ArrayList parsedList
        end local 8 // java.util.TreeSet parsedSet
        18: .line 1948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* beforePrinter */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iBeforePrinter:Lorg/joda/time/format/PeriodPrinter;
        19: .line 1949
            aload 0 /* this */
            aload 5 /* beforeParser */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iBeforeParser:Lorg/joda/time/format/PeriodParser;
        20: .line 1950
            aload 0 /* this */
            iload 6 /* useBefore */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseBefore:Z
        21: .line 1951
            aload 0 /* this */
            iload 7 /* useAfter */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseAfter:Z
        22: .line 1952
            return
        end local 7 // boolean useAfter
        end local 6 // boolean useBefore
        end local 5 // org.joda.time.format.PeriodParser beforeParser
        end local 4 // org.joda.time.format.PeriodPrinter beforePrinter
        end local 3 // java.lang.String[] variants
        end local 2 // java.lang.String finalText
        end local 1 // java.lang.String text
        end local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
            0   23     1           text  Ljava/lang/String;
            0   23     2      finalText  Ljava/lang/String;
            0   23     3       variants  [Ljava/lang/String;
            0   23     4  beforePrinter  Lorg/joda/time/format/PeriodPrinter;
            0   23     5   beforeParser  Lorg/joda/time/format/PeriodParser;
            0   23     6      useBefore  Z
            0   23     7       useAfter  Z
            8   18     8      parsedSet  Ljava/util/TreeSet<Ljava/lang/String;>;
           12   15     9              i  I
           16   18     9     parsedList  Ljava/util/ArrayList<Ljava/lang/String;>;
    MethodParameters:
               Name  Flags
      text           
      finalText      
      variants       
      beforePrinter  
      beforeParser   
      useBefore      
      useAfter       

  public int countFieldsToPrint(org.joda.time.ReadablePeriod, int, java.util.Locale);
    descriptor: (Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
        start local 1 // org.joda.time.ReadablePeriod period
        start local 2 // int stopAt
        start local 3 // java.util.Locale locale
         0: .line 1955
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iBeforePrinter:Lorg/joda/time/format/PeriodPrinter;
            aload 1 /* period */
            iload 2 /* stopAt */
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            istore 4 /* sum */
        start local 4 // int sum
         1: .line 1956
            iload 4 /* sum */
            iload 2 /* stopAt */
            if_icmpge 3
         2: .line 1957
            iload 4 /* sum */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iAfterPrinter:Lorg/joda/time/format/PeriodPrinter;
            aload 1 /* period */
            iload 2 /* stopAt */
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            iadd
            istore 4 /* sum */
         3: .line 1959
      StackMap locals: int
      StackMap stack:
            iload 4 /* sum */
            ireturn
        end local 4 // int sum
        end local 3 // java.util.Locale locale
        end local 2 // int stopAt
        end local 1 // org.joda.time.ReadablePeriod period
        end local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
            0    4     1  period  Lorg/joda/time/ReadablePeriod;
            0    4     2  stopAt  I
            0    4     3  locale  Ljava/util/Locale;
            1    4     4     sum  I
    MethodParameters:
        Name  Flags
      period  
      stopAt  
      locale  

  public int calculatePrintedLength(org.joda.time.ReadablePeriod, java.util.Locale);
    descriptor: (Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
        start local 1 // org.joda.time.ReadablePeriod period
        start local 2 // java.util.Locale locale
         0: .line 1963
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iBeforePrinter:Lorg/joda/time/format/PeriodPrinter;
            astore 3 /* before */
        start local 3 // org.joda.time.format.PeriodPrinter before
         1: .line 1964
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iAfterPrinter:Lorg/joda/time/format/PeriodPrinter;
            astore 4 /* after */
        start local 4 // org.joda.time.format.PeriodPrinter after
         2: .line 1966
            aload 3 /* before */
            aload 1 /* period */
            aload 2 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.calculatePrintedLength:(Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)I
         3: .line 1967
            aload 4 /* after */
            aload 1 /* period */
            aload 2 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.calculatePrintedLength:(Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)I
         4: .line 1966
            iadd
            istore 5 /* sum */
        start local 5 // int sum
         5: .line 1969
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseBefore:Z
            ifeq 16
         6: .line 1970
            aload 3 /* before */
            aload 1 /* period */
            iconst_1
            aload 2 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            ifle 18
         7: .line 1971
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseAfter:Z
            ifeq 14
         8: .line 1972
            aload 4 /* after */
            aload 1 /* period */
            iconst_2
            aload 2 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            istore 6 /* afterCount */
        start local 6 // int afterCount
         9: .line 1973
            iload 6 /* afterCount */
            ifle 18
        10: .line 1974
            iload 5 /* sum */
            iload 6 /* afterCount */
            iconst_1
            if_icmple 11
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            goto 12
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator org.joda.time.ReadablePeriod java.util.Locale org.joda.time.format.PeriodPrinter org.joda.time.format.PeriodPrinter int int
      StackMap stack: int
        11: aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iFinalText:Ljava/lang/String;
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator org.joda.time.ReadablePeriod java.util.Locale org.joda.time.format.PeriodPrinter org.joda.time.format.PeriodPrinter int int
      StackMap stack: int java.lang.String
        12: invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* sum */
        end local 6 // int afterCount
        13: .line 1976
            goto 18
        14: .line 1977
      StackMap locals:
      StackMap stack:
            iload 5 /* sum */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* sum */
        15: .line 1980
            goto 18
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseAfter:Z
            ifeq 18
            aload 4 /* after */
            aload 1 /* period */
            iconst_1
            aload 2 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            ifle 18
        17: .line 1981
            iload 5 /* sum */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* sum */
        18: .line 1984
      StackMap locals:
      StackMap stack:
            iload 5 /* sum */
            ireturn
        end local 5 // int sum
        end local 4 // org.joda.time.format.PeriodPrinter after
        end local 3 // org.joda.time.format.PeriodPrinter before
        end local 2 // java.util.Locale locale
        end local 1 // org.joda.time.ReadablePeriod period
        end local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
            0   19     1      period  Lorg/joda/time/ReadablePeriod;
            0   19     2      locale  Ljava/util/Locale;
            1   19     3      before  Lorg/joda/time/format/PeriodPrinter;
            2   19     4       after  Lorg/joda/time/format/PeriodPrinter;
            5   19     5         sum  I
            9   13     6  afterCount  I
    MethodParameters:
        Name  Flags
      period  
      locale  

  public void printTo(java.lang.StringBuffer, org.joda.time.ReadablePeriod, java.util.Locale);
    descriptor: (Ljava/lang/StringBuffer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
        start local 1 // java.lang.StringBuffer buf
        start local 2 // org.joda.time.ReadablePeriod period
        start local 3 // java.util.Locale locale
         0: .line 1988
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iBeforePrinter:Lorg/joda/time/format/PeriodPrinter;
            astore 4 /* before */
        start local 4 // org.joda.time.format.PeriodPrinter before
         1: .line 1989
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iAfterPrinter:Lorg/joda/time/format/PeriodPrinter;
            astore 5 /* after */
        start local 5 // org.joda.time.format.PeriodPrinter after
         2: .line 1991
            aload 4 /* before */
            aload 1 /* buf */
            aload 2 /* period */
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.printTo:(Ljava/lang/StringBuffer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
         3: .line 1992
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseBefore:Z
            ifeq 14
         4: .line 1993
            aload 4 /* before */
            aload 2 /* period */
            iconst_1
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            ifle 16
         5: .line 1994
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseAfter:Z
            ifeq 12
         6: .line 1995
            aload 5 /* after */
            aload 2 /* period */
            iconst_2
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            istore 6 /* afterCount */
        start local 6 // int afterCount
         7: .line 1996
            iload 6 /* afterCount */
            ifle 16
         8: .line 1997
            aload 1 /* buf */
            iload 6 /* afterCount */
            iconst_1
            if_icmple 9
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            goto 10
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator java.lang.StringBuffer org.joda.time.ReadablePeriod java.util.Locale org.joda.time.format.PeriodPrinter org.joda.time.format.PeriodPrinter int
      StackMap stack: java.lang.StringBuffer
         9: aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iFinalText:Ljava/lang/String;
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator java.lang.StringBuffer org.joda.time.ReadablePeriod java.util.Locale org.joda.time.format.PeriodPrinter org.joda.time.format.PeriodPrinter int
      StackMap stack: java.lang.StringBuffer java.lang.String
        10: invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // int afterCount
        11: .line 1999
            goto 16
        12: .line 2000
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 2003
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseAfter:Z
            ifeq 16
            aload 5 /* after */
            aload 2 /* period */
            iconst_1
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            ifle 16
        15: .line 2004
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 2006
      StackMap locals:
      StackMap stack:
            aload 5 /* after */
            aload 1 /* buf */
            aload 2 /* period */
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.printTo:(Ljava/lang/StringBuffer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
        17: .line 2007
            return
        end local 5 // org.joda.time.format.PeriodPrinter after
        end local 4 // org.joda.time.format.PeriodPrinter before
        end local 3 // java.util.Locale locale
        end local 2 // org.joda.time.ReadablePeriod period
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
            0   18     1         buf  Ljava/lang/StringBuffer;
            0   18     2      period  Lorg/joda/time/ReadablePeriod;
            0   18     3      locale  Ljava/util/Locale;
            1   18     4      before  Lorg/joda/time/format/PeriodPrinter;
            2   18     5       after  Lorg/joda/time/format/PeriodPrinter;
            7   11     6  afterCount  I
    MethodParameters:
        Name  Flags
      buf     
      period  
      locale  

  public void printTo(java.io.Writer, org.joda.time.ReadablePeriod, java.util.Locale);
    descriptor: (Ljava/io/Writer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
        start local 1 // java.io.Writer out
        start local 2 // org.joda.time.ReadablePeriod period
        start local 3 // java.util.Locale locale
         0: .line 2010
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iBeforePrinter:Lorg/joda/time/format/PeriodPrinter;
            astore 4 /* before */
        start local 4 // org.joda.time.format.PeriodPrinter before
         1: .line 2011
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iAfterPrinter:Lorg/joda/time/format/PeriodPrinter;
            astore 5 /* after */
        start local 5 // org.joda.time.format.PeriodPrinter after
         2: .line 2013
            aload 4 /* before */
            aload 1 /* out */
            aload 2 /* period */
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.printTo:(Ljava/io/Writer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
         3: .line 2014
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseBefore:Z
            ifeq 14
         4: .line 2015
            aload 4 /* before */
            aload 2 /* period */
            iconst_1
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            ifle 16
         5: .line 2016
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseAfter:Z
            ifeq 12
         6: .line 2017
            aload 5 /* after */
            aload 2 /* period */
            iconst_2
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            istore 6 /* afterCount */
        start local 6 // int afterCount
         7: .line 2018
            iload 6 /* afterCount */
            ifle 16
         8: .line 2019
            aload 1 /* out */
            iload 6 /* afterCount */
            iconst_1
            if_icmple 9
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            goto 10
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator java.io.Writer org.joda.time.ReadablePeriod java.util.Locale org.joda.time.format.PeriodPrinter org.joda.time.format.PeriodPrinter int
      StackMap stack: java.io.Writer
         9: aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iFinalText:Ljava/lang/String;
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator java.io.Writer org.joda.time.ReadablePeriod java.util.Locale org.joda.time.format.PeriodPrinter org.joda.time.format.PeriodPrinter int
      StackMap stack: java.io.Writer java.lang.String
        10: invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
        end local 6 // int afterCount
        11: .line 2021
            goto 16
        12: .line 2022
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
        13: .line 2025
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseAfter:Z
            ifeq 16
            aload 5 /* after */
            aload 2 /* period */
            iconst_1
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.countFieldsToPrint:(Lorg/joda/time/ReadablePeriod;ILjava/util/Locale;)I
            ifle 16
        15: .line 2026
            aload 1 /* out */
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iText:Ljava/lang/String;
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
        16: .line 2028
      StackMap locals:
      StackMap stack:
            aload 5 /* after */
            aload 1 /* out */
            aload 2 /* period */
            aload 3 /* locale */
            invokeinterface org.joda.time.format.PeriodPrinter.printTo:(Ljava/io/Writer;Lorg/joda/time/ReadablePeriod;Ljava/util/Locale;)V
        17: .line 2029
            return
        end local 5 // org.joda.time.format.PeriodPrinter after
        end local 4 // org.joda.time.format.PeriodPrinter before
        end local 3 // java.util.Locale locale
        end local 2 // org.joda.time.ReadablePeriod period
        end local 1 // java.io.Writer out
        end local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
            0   18     1         out  Ljava/io/Writer;
            0   18     2      period  Lorg/joda/time/ReadablePeriod;
            0   18     3      locale  Ljava/util/Locale;
            1   18     4      before  Lorg/joda/time/format/PeriodPrinter;
            2   18     5       after  Lorg/joda/time/format/PeriodPrinter;
            7   11     6  afterCount  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      out     
      period  
      locale  

  public int parseInto(org.joda.time.ReadWritablePeriod, java.lang.String, int, java.util.Locale);
    descriptor: (Lorg/joda/time/ReadWritablePeriod;Ljava/lang/String;ILjava/util/Locale;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
        start local 1 // org.joda.time.ReadWritablePeriod period
        start local 2 // java.lang.String periodStr
        start local 3 // int position
        start local 4 // java.util.Locale locale
         0: .line 2034
            iload 3 /* position */
            istore 5 /* oldPos */
        start local 5 // int oldPos
         1: .line 2035
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iBeforeParser:Lorg/joda/time/format/PeriodParser;
            aload 1 /* period */
            aload 2 /* periodStr */
            iload 3 /* position */
            aload 4 /* locale */
            invokeinterface org.joda.time.format.PeriodParser.parseInto:(Lorg/joda/time/ReadWritablePeriod;Ljava/lang/String;ILjava/util/Locale;)I
            istore 3 /* position */
         2: .line 2037
            iload 3 /* position */
            ifge 4
         3: .line 2038
            iload 3 /* position */
            ireturn
         4: .line 2041
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 6 /* found */
        start local 6 // boolean found
         5: .line 2042
            iconst_m1
            istore 7 /* parsedFormLength */
        start local 7 // int parsedFormLength
         6: .line 2043
            iload 3 /* position */
            iload 5 /* oldPos */
            if_icmple 22
         7: .line 2045
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iParsedForms:[Ljava/lang/String;
            astore 8 /* parsedForms */
        start local 8 // java.lang.String[] parsedForms
         8: .line 2046
            aload 8 /* parsedForms */
            arraylength
            istore 9 /* length */
        start local 9 // int length
         9: .line 2047
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        10: goto 21
        11: .line 2048
      StackMap locals: org.joda.time.format.PeriodFormatterBuilder$Separator org.joda.time.ReadWritablePeriod java.lang.String int java.util.Locale int int int java.lang.String[] int int
      StackMap stack:
            aload 8 /* parsedForms */
            iload 10 /* i */
            aaload
            astore 11 /* parsedForm */
        start local 11 // java.lang.String parsedForm
        12: .line 2049
            aload 11 /* parsedForm */
            ifnull 14
            aload 11 /* parsedForm */
            invokevirtual java.lang.String.length:()I
            ifeq 14
        13: .line 2050
            aload 2 /* periodStr */
            iconst_1
            iload 3 /* position */
            aload 11 /* parsedForm */
            iconst_0
            aload 11 /* parsedForm */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 20
        14: .line 2052
      StackMap locals: java.lang.String
      StackMap stack:
            aload 11 /* parsedForm */
            ifnonnull 15
            iconst_0
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 11 /* parsedForm */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
        16: istore 7 /* parsedFormLength */
        17: .line 2053
            iload 3 /* position */
            iload 7 /* parsedFormLength */
            iadd
            istore 3 /* position */
        18: .line 2054
            iconst_1
            istore 6 /* found */
        19: .line 2055
            goto 22
        end local 11 // java.lang.String parsedForm
        20: .line 2047
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 10 /* i */
            iload 9 /* length */
            if_icmplt 11
        end local 10 // int i
        end local 9 // int length
        end local 8 // java.lang.String[] parsedForms
        22: .line 2060
      StackMap locals:
      StackMap stack:
            iload 3 /* position */
            istore 5 /* oldPos */
        23: .line 2061
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iAfterParser:Lorg/joda/time/format/PeriodParser;
            aload 1 /* period */
            aload 2 /* periodStr */
            iload 3 /* position */
            aload 4 /* locale */
            invokeinterface org.joda.time.format.PeriodParser.parseInto:(Lorg/joda/time/ReadWritablePeriod;Ljava/lang/String;ILjava/util/Locale;)I
            istore 3 /* position */
        24: .line 2063
            iload 3 /* position */
            ifge 26
        25: .line 2064
            iload 3 /* position */
            ireturn
        26: .line 2067
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            ifeq 28
            iload 3 /* position */
            iload 5 /* oldPos */
            if_icmpne 28
            iload 7 /* parsedFormLength */
            ifle 28
        27: .line 2069
            iload 5 /* oldPos */
            iconst_m1
            ixor
            ireturn
        28: .line 2072
      StackMap locals:
      StackMap stack:
            iload 3 /* position */
            iload 5 /* oldPos */
            if_icmple 30
            iload 6 /* found */
            ifne 30
            aload 0 /* this */
            getfield org.joda.time.format.PeriodFormatterBuilder$Separator.iUseBefore:Z
            ifne 30
        29: .line 2074
            iload 5 /* oldPos */
            iconst_m1
            ixor
            ireturn
        30: .line 2077
      StackMap locals:
      StackMap stack:
            iload 3 /* position */
            ireturn
        end local 7 // int parsedFormLength
        end local 6 // boolean found
        end local 5 // int oldPos
        end local 4 // java.util.Locale locale
        end local 3 // int position
        end local 2 // java.lang.String periodStr
        end local 1 // org.joda.time.ReadWritablePeriod period
        end local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0              this  Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
            0   31     1            period  Lorg/joda/time/ReadWritablePeriod;
            0   31     2         periodStr  Ljava/lang/String;
            0   31     3          position  I
            0   31     4            locale  Ljava/util/Locale;
            1   31     5            oldPos  I
            5   31     6             found  Z
            6   31     7  parsedFormLength  I
            8   22     8       parsedForms  [Ljava/lang/String;
            9   22     9            length  I
           10   22    10                 i  I
           12   20    11        parsedForm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      period     
      periodStr  
      position   
      locale     

  org.joda.time.format.PeriodFormatterBuilder$Separator finish(org.joda.time.format.PeriodPrinter, org.joda.time.format.PeriodParser);
    descriptor: (Lorg/joda/time/format/PeriodPrinter;Lorg/joda/time/format/PeriodParser;)Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
        start local 1 // org.joda.time.format.PeriodPrinter afterPrinter
        start local 2 // org.joda.time.format.PeriodParser afterParser
         0: .line 2081
            aload 0 /* this */
            aload 1 /* afterPrinter */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iAfterPrinter:Lorg/joda/time/format/PeriodPrinter;
         1: .line 2082
            aload 0 /* this */
            aload 2 /* afterParser */
            putfield org.joda.time.format.PeriodFormatterBuilder$Separator.iAfterParser:Lorg/joda/time/format/PeriodParser;
         2: .line 2083
            aload 0 /* this */
            areturn
        end local 2 // org.joda.time.format.PeriodParser afterParser
        end local 1 // org.joda.time.format.PeriodPrinter afterPrinter
        end local 0 // org.joda.time.format.PeriodFormatterBuilder$Separator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/joda/time/format/PeriodFormatterBuilder$Separator;
            0    3     1  afterPrinter  Lorg/joda/time/format/PeriodPrinter;
            0    3     2   afterParser  Lorg/joda/time/format/PeriodParser;
    MethodParameters:
              Name  Flags
      afterPrinter  
      afterParser   
}
SourceFile: "PeriodFormatterBuilder.java"
NestHost: org.joda.time.format.PeriodFormatterBuilder
InnerClasses:
  Separator = org.joda.time.format.PeriodFormatterBuilder$Separator of org.joda.time.format.PeriodFormatterBuilder