public class org.apache.commons.lang3.time.DurationFormatUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.lang3.time.DurationFormatUtils
  super_class: java.lang.Object
{
  public static final java.lang.String ISO_EXTENDED_FORMAT_PATTERN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "'P'yyyy'Y'M'M'd'DT'H'H'm'M's.SSS'S'"

  static final java.lang.Object y;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.Object M;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.Object d;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.Object H;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.Object m;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.Object s;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.Object S;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 483
            ldc "y"
            putstatic org.apache.commons.lang3.time.DurationFormatUtils.y:Ljava/lang/Object;
         1: .line 484
            ldc "M"
            putstatic org.apache.commons.lang3.time.DurationFormatUtils.M:Ljava/lang/Object;
         2: .line 485
            ldc "d"
            putstatic org.apache.commons.lang3.time.DurationFormatUtils.d:Ljava/lang/Object;
         3: .line 486
            ldc "H"
            putstatic org.apache.commons.lang3.time.DurationFormatUtils.H:Ljava/lang/Object;
         4: .line 487
            ldc "m"
            putstatic org.apache.commons.lang3.time.DurationFormatUtils.m:Ljava/lang/Object;
         5: .line 488
            ldc "s"
            putstatic org.apache.commons.lang3.time.DurationFormatUtils.s:Ljava/lang/Object;
         6: .line 489
            ldc "S"
            putstatic org.apache.commons.lang3.time.DurationFormatUtils.S:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang3.time.DurationFormatUtils this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            return
        end local 0 // org.apache.commons.lang3.time.DurationFormatUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/lang3/time/DurationFormatUtils;

  public static java.lang.String formatDurationHMS(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long durationMillis
         0: .line 83
            lload 0 /* durationMillis */
            ldc "HH:mm:ss.SSS"
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.formatDuration:(JLjava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // long durationMillis
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  durationMillis  J
    MethodParameters:
                Name  Flags
      durationMillis  final

  public static java.lang.String formatDurationISO(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long durationMillis
         0: .line 99
            lload 0 /* durationMillis */
            ldc "'P'yyyy'Y'M'M'd'DT'H'H'm'M's.SSS'S'"
            iconst_0
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.formatDuration:(JLjava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 0 // long durationMillis
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  durationMillis  J
    MethodParameters:
                Name  Flags
      durationMillis  final

  public static java.lang.String formatDuration(long, java.lang.String);
    descriptor: (JLjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long durationMillis
        start local 2 // java.lang.String format
         0: .line 114
            lload 0 /* durationMillis */
            aload 2 /* format */
            iconst_1
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.formatDuration:(JLjava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String format
        end local 0 // long durationMillis
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  durationMillis  J
            0    1     2          format  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      durationMillis  final
      format          final

  public static java.lang.String formatDuration(long, java.lang.String, boolean);
    descriptor: (JLjava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=16, locals=15, args_size=3
        start local 0 // long durationMillis
        start local 2 // java.lang.String format
        start local 3 // boolean padWithZeros
         0: .line 131
            lconst_0
            ldc 9223372036854775807
            lload 0 /* durationMillis */
            ldc "durationMillis must not be negative"
            invokestatic org.apache.commons.lang3.Validate.inclusiveBetween:(JJJLjava/lang/String;)V
         1: .line 133
            aload 2 /* format */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.lexx:(Ljava/lang/String;)[Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
            astore 4 /* tokens */
        start local 4 // org.apache.commons.lang3.time.DurationFormatUtils$Token[] tokens
         2: .line 135
            lconst_0
            lstore 5 /* days */
        start local 5 // long days
         3: .line 136
            lconst_0
            lstore 7 /* hours */
        start local 7 // long hours
         4: .line 137
            lconst_0
            lstore 9 /* minutes */
        start local 9 // long minutes
         5: .line 138
            lconst_0
            lstore 11 /* seconds */
        start local 11 // long seconds
         6: .line 139
            lload 0 /* durationMillis */
            lstore 13 /* milliseconds */
        start local 13 // long milliseconds
         7: .line 141
            aload 4 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.d:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifeq 10
         8: .line 142
            lload 13 /* milliseconds */
            ldc 86400000
            ldiv
            lstore 5 /* days */
         9: .line 143
            lload 13 /* milliseconds */
            lload 5 /* days */
            ldc 86400000
            lmul
            lsub
            lstore 13 /* milliseconds */
        10: .line 145
      StackMap locals: long java.lang.String int org.apache.commons.lang3.time.DurationFormatUtils$Token[] long long long long long
      StackMap stack:
            aload 4 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.H:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifeq 13
        11: .line 146
            lload 13 /* milliseconds */
            ldc 3600000
            ldiv
            lstore 7 /* hours */
        12: .line 147
            lload 13 /* milliseconds */
            lload 7 /* hours */
            ldc 3600000
            lmul
            lsub
            lstore 13 /* milliseconds */
        13: .line 149
      StackMap locals:
      StackMap stack:
            aload 4 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.m:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifeq 16
        14: .line 150
            lload 13 /* milliseconds */
            ldc 60000
            ldiv
            lstore 9 /* minutes */
        15: .line 151
            lload 13 /* milliseconds */
            lload 9 /* minutes */
            ldc 60000
            lmul
            lsub
            lstore 13 /* milliseconds */
        16: .line 153
      StackMap locals:
      StackMap stack:
            aload 4 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.s:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifeq 19
        17: .line 154
            lload 13 /* milliseconds */
            ldc 1000
            ldiv
            lstore 11 /* seconds */
        18: .line 155
            lload 13 /* milliseconds */
            lload 11 /* seconds */
            ldc 1000
            lmul
            lsub
            lstore 13 /* milliseconds */
        19: .line 158
      StackMap locals:
      StackMap stack:
            aload 4 /* tokens */
            lconst_0
            lconst_0
            lload 5 /* days */
            lload 7 /* hours */
            lload 9 /* minutes */
            lload 11 /* seconds */
            lload 13 /* milliseconds */
            iload 3 /* padWithZeros */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.format:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;JJJJJJJZ)Ljava/lang/String;
            areturn
        end local 13 // long milliseconds
        end local 11 // long seconds
        end local 9 // long minutes
        end local 7 // long hours
        end local 5 // long days
        end local 4 // org.apache.commons.lang3.time.DurationFormatUtils$Token[] tokens
        end local 3 // boolean padWithZeros
        end local 2 // java.lang.String format
        end local 0 // long durationMillis
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0  durationMillis  J
            0   20     2          format  Ljava/lang/String;
            0   20     3    padWithZeros  Z
            2   20     4          tokens  [Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
            3   20     5            days  J
            4   20     7           hours  J
            5   20     9         minutes  J
            6   20    11         seconds  J
            7   20    13    milliseconds  J
    MethodParameters:
                Name  Flags
      durationMillis  final
      format          final
      padWithZeros    final

  public static java.lang.String formatDurationWords(long, boolean, boolean);
    descriptor: (JZZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // long durationMillis
        start local 2 // boolean suppressLeadingZeroElements
        start local 3 // boolean suppressTrailingZeroElements
         0: .line 181
            lload 0 /* durationMillis */
            ldc "d' days 'H' hours 'm' minutes 's' seconds'"
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.formatDuration:(JLjava/lang/String;)Ljava/lang/String;
            astore 4 /* duration */
        start local 4 // java.lang.String duration
         1: .line 182
            iload 2 /* suppressLeadingZeroElements */
            ifeq 15
         2: .line 184
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* duration */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* duration */
         3: .line 185
            aload 4 /* duration */
            ldc " 0 days"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* tmp */
        start local 5 // java.lang.String tmp
         4: .line 186
            aload 5 /* tmp */
            invokevirtual java.lang.String.length:()I
            aload 4 /* duration */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 13
         5: .line 187
            aload 5 /* tmp */
            astore 4 /* duration */
         6: .line 188
            aload 4 /* duration */
            ldc " 0 hours"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* tmp */
         7: .line 189
            aload 5 /* tmp */
            invokevirtual java.lang.String.length:()I
            aload 4 /* duration */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 13
         8: .line 190
            aload 5 /* tmp */
            astore 4 /* duration */
         9: .line 191
            aload 4 /* duration */
            ldc " 0 minutes"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* tmp */
        10: .line 192
            aload 5 /* tmp */
            astore 4 /* duration */
        11: .line 193
            aload 5 /* tmp */
            invokevirtual java.lang.String.length:()I
            aload 4 /* duration */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 13
        12: .line 194
            aload 5 /* tmp */
            ldc " 0 seconds"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* duration */
        13: .line 198
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* duration */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 15
        14: .line 200
            aload 4 /* duration */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* duration */
        end local 5 // java.lang.String tmp
        15: .line 203
      StackMap locals:
      StackMap stack:
            iload 3 /* suppressTrailingZeroElements */
            ifeq 25
        16: .line 204
            aload 4 /* duration */
            ldc " 0 seconds"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* tmp */
        start local 5 // java.lang.String tmp
        17: .line 205
            aload 5 /* tmp */
            invokevirtual java.lang.String.length:()I
            aload 4 /* duration */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 25
        18: .line 206
            aload 5 /* tmp */
            astore 4 /* duration */
        19: .line 207
            aload 4 /* duration */
            ldc " 0 minutes"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* tmp */
        20: .line 208
            aload 5 /* tmp */
            invokevirtual java.lang.String.length:()I
            aload 4 /* duration */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 25
        21: .line 209
            aload 5 /* tmp */
            astore 4 /* duration */
        22: .line 210
            aload 4 /* duration */
            ldc " 0 hours"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* tmp */
        23: .line 211
            aload 5 /* tmp */
            invokevirtual java.lang.String.length:()I
            aload 4 /* duration */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 25
        24: .line 212
            aload 5 /* tmp */
            ldc " 0 days"
            ldc ""
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* duration */
        end local 5 // java.lang.String tmp
        25: .line 218
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* duration */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* duration */
        26: .line 219
            aload 4 /* duration */
            ldc " 1 seconds"
            ldc " 1 second"
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* duration */
        27: .line 220
            aload 4 /* duration */
            ldc " 1 minutes"
            ldc " 1 minute"
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* duration */
        28: .line 221
            aload 4 /* duration */
            ldc " 1 hours"
            ldc " 1 hour"
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* duration */
        29: .line 222
            aload 4 /* duration */
            ldc " 1 days"
            ldc " 1 day"
            invokestatic org.apache.commons.lang3.StringUtils.replaceOnce:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* duration */
        30: .line 223
            aload 4 /* duration */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.String duration
        end local 3 // boolean suppressTrailingZeroElements
        end local 2 // boolean suppressLeadingZeroElements
        end local 0 // long durationMillis
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   31     0                durationMillis  J
            0   31     2   suppressLeadingZeroElements  Z
            0   31     3  suppressTrailingZeroElements  Z
            1   31     4                      duration  Ljava/lang/String;
            4   15     5                           tmp  Ljava/lang/String;
           17   25     5                           tmp  Ljava/lang/String;
    MethodParameters:
                              Name  Flags
      durationMillis                final
      suppressLeadingZeroElements   final
      suppressTrailingZeroElements  final

  public static java.lang.String formatPeriodISO(long, long);
    descriptor: (JJ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // long startMillis
        start local 2 // long endMillis
         0: .line 238
            lload 0 /* startMillis */
            lload 2 /* endMillis */
            ldc "'P'yyyy'Y'M'M'd'DT'H'H'm'M's.SSS'S'"
            iconst_0
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.formatPeriod:(JJLjava/lang/String;ZLjava/util/TimeZone;)Ljava/lang/String;
            areturn
        end local 2 // long endMillis
        end local 0 // long startMillis
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  startMillis  J
            0    1     2    endMillis  J
    MethodParameters:
             Name  Flags
      startMillis  final
      endMillis    final

  public static java.lang.String formatPeriod(long, long, java.lang.String);
    descriptor: (JJLjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // long startMillis
        start local 2 // long endMillis
        start local 4 // java.lang.String format
         0: .line 252
            lload 0 /* startMillis */
            lload 2 /* endMillis */
            aload 4 /* format */
            iconst_1
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.formatPeriod:(JJLjava/lang/String;ZLjava/util/TimeZone;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String format
        end local 2 // long endMillis
        end local 0 // long startMillis
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  startMillis  J
            0    1     2    endMillis  J
            0    1     4       format  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      startMillis  final
      endMillis    final
      format       final

  public static java.lang.String formatPeriod(long, long, java.lang.String, boolean, java.util.TimeZone);
    descriptor: (JJLjava/lang/String;ZLjava/util/TimeZone;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=16, locals=18, args_size=5
        start local 0 // long startMillis
        start local 2 // long endMillis
        start local 4 // java.lang.String format
        start local 5 // boolean padWithZeros
        start local 6 // java.util.TimeZone timezone
         0: .line 281
            lload 0 /* startMillis */
            lload 2 /* endMillis */
            lcmp
            ifgt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "startMillis must not be greater than endMillis"
            iconst_0
            anewarray java.lang.Object
            invokestatic org.apache.commons.lang3.Validate.isTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
         3: .line 290
            aload 4 /* format */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.lexx:(Ljava/lang/String;)[Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
            astore 7 /* tokens */
        start local 7 // org.apache.commons.lang3.time.DurationFormatUtils$Token[] tokens
         4: .line 294
            aload 6 /* timezone */
            invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;)Ljava/util/Calendar;
            astore 8 /* start */
        start local 8 // java.util.Calendar start
         5: .line 295
            aload 8 /* start */
            new java.util.Date
            dup
            lload 0 /* startMillis */
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         6: .line 296
            aload 6 /* timezone */
            invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;)Ljava/util/Calendar;
            astore 9 /* end */
        start local 9 // java.util.Calendar end
         7: .line 297
            aload 9 /* end */
            new java.util.Date
            dup
            lload 2 /* endMillis */
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         8: .line 300
            aload 9 /* end */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            aload 8 /* start */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            isub
            istore 10 /* milliseconds */
        start local 10 // int milliseconds
         9: .line 301
            aload 9 /* end */
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            aload 8 /* start */
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            isub
            istore 11 /* seconds */
        start local 11 // int seconds
        10: .line 302
            aload 9 /* end */
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            aload 8 /* start */
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            isub
            istore 12 /* minutes */
        start local 12 // int minutes
        11: .line 303
            aload 9 /* end */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            aload 8 /* start */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            isub
            istore 13 /* hours */
        start local 13 // int hours
        12: .line 304
            aload 9 /* end */
            iconst_5
            invokevirtual java.util.Calendar.get:(I)I
            aload 8 /* start */
            iconst_5
            invokevirtual java.util.Calendar.get:(I)I
            isub
            istore 14 /* days */
        start local 14 // int days
        13: .line 305
            aload 9 /* end */
            iconst_2
            invokevirtual java.util.Calendar.get:(I)I
            aload 8 /* start */
            iconst_2
            invokevirtual java.util.Calendar.get:(I)I
            isub
            istore 15 /* months */
        start local 15 // int months
        14: .line 306
            aload 9 /* end */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            aload 8 /* start */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            isub
            istore 16 /* years */
        start local 16 // int years
        15: .line 309
            goto 18
        16: .line 310
      StackMap locals: long long java.lang.String int java.util.TimeZone org.apache.commons.lang3.time.DurationFormatUtils$Token[] java.util.Calendar java.util.Calendar int int int int int int int
      StackMap stack:
            iinc 10 /* milliseconds */ 1000
        17: .line 311
            iinc 11 /* seconds */ -1
        18: .line 309
      StackMap locals:
      StackMap stack:
            iload 10 /* milliseconds */
            iflt 16
        19: .line 313
            goto 22
        20: .line 314
      StackMap locals:
      StackMap stack:
            iinc 11 /* seconds */ 60
        21: .line 315
            iinc 12 /* minutes */ -1
        22: .line 313
      StackMap locals:
      StackMap stack:
            iload 11 /* seconds */
            iflt 20
        23: .line 317
            goto 26
        24: .line 318
      StackMap locals:
      StackMap stack:
            iinc 12 /* minutes */ 60
        25: .line 319
            iinc 13 /* hours */ -1
        26: .line 317
      StackMap locals:
      StackMap stack:
            iload 12 /* minutes */
            iflt 24
        27: .line 321
            goto 30
        28: .line 322
      StackMap locals:
      StackMap stack:
            iinc 13 /* hours */ 24
        29: .line 323
            iinc 14 /* days */ -1
        30: .line 321
      StackMap locals:
      StackMap stack:
            iload 13 /* hours */
            iflt 28
        31: .line 326
            aload 7 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.M:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifeq 47
        32: .line 327
            goto 36
        33: .line 328
      StackMap locals:
      StackMap stack:
            iload 14 /* days */
            aload 8 /* start */
            iconst_5
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            iadd
            istore 14 /* days */
        34: .line 329
            iinc 15 /* months */ -1
        35: .line 330
            aload 8 /* start */
            iconst_2
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        36: .line 327
      StackMap locals:
      StackMap stack:
            iload 14 /* days */
            iflt 33
        37: .line 333
            goto 40
        38: .line 334
      StackMap locals:
      StackMap stack:
            iinc 15 /* months */ 12
        39: .line 335
            iinc 16 /* years */ -1
        40: .line 333
      StackMap locals:
      StackMap stack:
            iload 15 /* months */
            iflt 38
        41: .line 338
            aload 7 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.y:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifne 71
            iload 16 /* years */
            ifeq 71
        42: .line 339
            goto 45
        43: .line 340
      StackMap locals:
      StackMap stack:
            iload 15 /* months */
            bipush 12
            iload 16 /* years */
            imul
            iadd
            istore 15 /* months */
        44: .line 341
            iconst_0
            istore 16 /* years */
        45: .line 339
      StackMap locals:
      StackMap stack:
            iload 16 /* years */
            ifne 43
        46: .line 344
            goto 71
        47: .line 347
      StackMap locals:
      StackMap stack:
            aload 7 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.y:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifne 64
        48: .line 348
            aload 9 /* end */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            istore 17 /* target */
        start local 17 // int target
        49: .line 349
            iload 15 /* months */
            ifge 59
        50: .line 351
            iinc 17 /* target */ -1
        51: .line 354
            goto 59
        52: .line 355
      StackMap locals: int
      StackMap stack:
            iload 14 /* days */
            aload 8 /* start */
            bipush 6
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            aload 8 /* start */
            bipush 6
            invokevirtual java.util.Calendar.get:(I)I
            isub
            iadd
            istore 14 /* days */
        53: .line 358
            aload 8 /* start */
            instanceof java.util.GregorianCalendar
            ifeq 57
        54: .line 359
            aload 8 /* start */
            iconst_2
            invokevirtual java.util.Calendar.get:(I)I
            iconst_1
            if_icmpne 57
        55: .line 360
            aload 8 /* start */
            iconst_5
            invokevirtual java.util.Calendar.get:(I)I
            bipush 29
            if_icmpne 57
        56: .line 361
            iinc 14 /* days */ 1
        57: .line 364
      StackMap locals:
      StackMap stack:
            aload 8 /* start */
            iconst_1
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        58: .line 366
            iload 14 /* days */
            aload 8 /* start */
            bipush 6
            invokevirtual java.util.Calendar.get:(I)I
            iadd
            istore 14 /* days */
        59: .line 354
      StackMap locals:
      StackMap stack:
            aload 8 /* start */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            iload 17 /* target */
            if_icmpne 52
        60: .line 369
            iconst_0
            istore 16 /* years */
        end local 17 // int target
        61: .line 372
            goto 64
        62: .line 373
      StackMap locals:
      StackMap stack:
            iload 14 /* days */
            aload 8 /* start */
            iconst_5
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            iadd
            istore 14 /* days */
        63: .line 374
            aload 8 /* start */
            iconst_2
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        64: .line 372
      StackMap locals:
      StackMap stack:
            aload 8 /* start */
            iconst_2
            invokevirtual java.util.Calendar.get:(I)I
            aload 9 /* end */
            iconst_2
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 62
        65: .line 377
            iconst_0
            istore 15 /* months */
        66: .line 379
            goto 70
        67: .line 380
      StackMap locals:
      StackMap stack:
            iload 14 /* days */
            aload 8 /* start */
            iconst_5
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            iadd
            istore 14 /* days */
        68: .line 381
            iinc 15 /* months */ -1
        69: .line 382
            aload 8 /* start */
            iconst_2
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        70: .line 379
      StackMap locals:
      StackMap stack:
            iload 14 /* days */
            iflt 67
        71: .line 391
      StackMap locals:
      StackMap stack:
            aload 7 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.d:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifne 74
        72: .line 392
            iload 13 /* hours */
            bipush 24
            iload 14 /* days */
            imul
            iadd
            istore 13 /* hours */
        73: .line 393
            iconst_0
            istore 14 /* days */
        74: .line 395
      StackMap locals:
      StackMap stack:
            aload 7 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.H:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifne 77
        75: .line 396
            iload 12 /* minutes */
            bipush 60
            iload 13 /* hours */
            imul
            iadd
            istore 12 /* minutes */
        76: .line 397
            iconst_0
            istore 13 /* hours */
        77: .line 399
      StackMap locals:
      StackMap stack:
            aload 7 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.m:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifne 80
        78: .line 400
            iload 11 /* seconds */
            bipush 60
            iload 12 /* minutes */
            imul
            iadd
            istore 11 /* seconds */
        79: .line 401
            iconst_0
            istore 12 /* minutes */
        80: .line 403
      StackMap locals:
      StackMap stack:
            aload 7 /* tokens */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.s:Ljava/lang/Object;
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils$Token.containsTokenWithValue:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;Ljava/lang/Object;)Z
            ifne 83
        81: .line 404
            iload 10 /* milliseconds */
            sipush 1000
            iload 11 /* seconds */
            imul
            iadd
            istore 10 /* milliseconds */
        82: .line 405
            iconst_0
            istore 11 /* seconds */
        83: .line 408
      StackMap locals:
      StackMap stack:
            aload 7 /* tokens */
            iload 16 /* years */
            i2l
            iload 15 /* months */
            i2l
            iload 14 /* days */
            i2l
            iload 13 /* hours */
            i2l
            iload 12 /* minutes */
            i2l
            iload 11 /* seconds */
            i2l
            iload 10 /* milliseconds */
            i2l
            iload 5 /* padWithZeros */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.format:([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;JJJJJJJZ)Ljava/lang/String;
            areturn
        end local 16 // int years
        end local 15 // int months
        end local 14 // int days
        end local 13 // int hours
        end local 12 // int minutes
        end local 11 // int seconds
        end local 10 // int milliseconds
        end local 9 // java.util.Calendar end
        end local 8 // java.util.Calendar start
        end local 7 // org.apache.commons.lang3.time.DurationFormatUtils$Token[] tokens
        end local 6 // java.util.TimeZone timezone
        end local 5 // boolean padWithZeros
        end local 4 // java.lang.String format
        end local 2 // long endMillis
        end local 0 // long startMillis
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   84     0   startMillis  J
            0   84     2     endMillis  J
            0   84     4        format  Ljava/lang/String;
            0   84     5  padWithZeros  Z
            0   84     6      timezone  Ljava/util/TimeZone;
            4   84     7        tokens  [Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
            5   84     8         start  Ljava/util/Calendar;
            7   84     9           end  Ljava/util/Calendar;
            9   84    10  milliseconds  I
           10   84    11       seconds  I
           11   84    12       minutes  I
           12   84    13         hours  I
           13   84    14          days  I
           14   84    15        months  I
           15   84    16         years  I
           49   61    17        target  I
    MethodParameters:
              Name  Flags
      startMillis   final
      endMillis     final
      format        final
      padWithZeros  final
      timezone      final

  static java.lang.String format(org.apache.commons.lang3.time.DurationFormatUtils$Token[], long, long, long, long, long, long, long, boolean);
    descriptor: ([Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;JJJJJJJZ)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=25, args_size=9
        start local 0 // org.apache.commons.lang3.time.DurationFormatUtils$Token[] tokens
        start local 1 // long years
        start local 3 // long months
        start local 5 // long days
        start local 7 // long hours
        start local 9 // long minutes
        start local 11 // long seconds
        start local 13 // long milliseconds
        start local 15 // boolean padWithZeros
         0: .line 428
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 16 /* buffer */
        start local 16 // java.lang.StringBuilder buffer
         1: .line 429
            iconst_0
            istore 17 /* lastOutputSeconds */
        start local 17 // boolean lastOutputSeconds
         2: .line 430
            aload 0 /* tokens */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 43
      StackMap locals: org.apache.commons.lang3.time.DurationFormatUtils$Token[] long long long long long long long int java.lang.StringBuilder int top int int org.apache.commons.lang3.time.DurationFormatUtils$Token[]
      StackMap stack:
         3: aload 21
            iload 19
            aaload
            astore 18 /* token */
        start local 18 // org.apache.commons.lang3.time.DurationFormatUtils$Token token
         4: .line 431
            aload 18 /* token */
            invokevirtual org.apache.commons.lang3.time.DurationFormatUtils$Token.getValue:()Ljava/lang/Object;
            astore 22 /* value */
        start local 22 // java.lang.Object value
         5: .line 432
            aload 18 /* token */
            invokevirtual org.apache.commons.lang3.time.DurationFormatUtils$Token.getCount:()I
            istore 23 /* count */
        start local 23 // int count
         6: .line 433
            aload 22 /* value */
            instanceof java.lang.StringBuilder
            ifeq 9
         7: .line 434
            aload 16 /* buffer */
            aload 22 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 435
            goto 42
         9: .line 436
      StackMap locals: org.apache.commons.lang3.time.DurationFormatUtils$Token[] long long long long long long long int java.lang.StringBuilder int org.apache.commons.lang3.time.DurationFormatUtils$Token int int org.apache.commons.lang3.time.DurationFormatUtils$Token[] java.lang.Object int
      StackMap stack:
            aload 22 /* value */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.y:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
        10: .line 437
            aload 16 /* buffer */
            lload 1 /* years */
            iload 15 /* padWithZeros */
            iload 23 /* count */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 438
            iconst_0
            istore 17 /* lastOutputSeconds */
        12: .line 439
            goto 42
      StackMap locals:
      StackMap stack:
        13: aload 22 /* value */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.M:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 17
        14: .line 440
            aload 16 /* buffer */
            lload 3 /* months */
            iload 15 /* padWithZeros */
            iload 23 /* count */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 441
            iconst_0
            istore 17 /* lastOutputSeconds */
        16: .line 442
            goto 42
      StackMap locals:
      StackMap stack:
        17: aload 22 /* value */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.d:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 21
        18: .line 443
            aload 16 /* buffer */
            lload 5 /* days */
            iload 15 /* padWithZeros */
            iload 23 /* count */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 444
            iconst_0
            istore 17 /* lastOutputSeconds */
        20: .line 445
            goto 42
      StackMap locals:
      StackMap stack:
        21: aload 22 /* value */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.H:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 25
        22: .line 446
            aload 16 /* buffer */
            lload 7 /* hours */
            iload 15 /* padWithZeros */
            iload 23 /* count */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 447
            iconst_0
            istore 17 /* lastOutputSeconds */
        24: .line 448
            goto 42
      StackMap locals:
      StackMap stack:
        25: aload 22 /* value */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.m:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 29
        26: .line 449
            aload 16 /* buffer */
            lload 9 /* minutes */
            iload 15 /* padWithZeros */
            iload 23 /* count */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 450
            iconst_0
            istore 17 /* lastOutputSeconds */
        28: .line 451
            goto 42
      StackMap locals:
      StackMap stack:
        29: aload 22 /* value */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.s:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 33
        30: .line 452
            aload 16 /* buffer */
            lload 11 /* seconds */
            iload 15 /* padWithZeros */
            iload 23 /* count */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 453
            iconst_1
            istore 17 /* lastOutputSeconds */
        32: .line 454
            goto 42
      StackMap locals:
      StackMap stack:
        33: aload 22 /* value */
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.S:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 42
        34: .line 455
            iload 17 /* lastOutputSeconds */
            ifeq 40
        35: .line 457
            iload 15 /* padWithZeros */
            ifeq 36
            iconst_3
            iload 23 /* count */
            invokestatic java.lang.Math.max:(II)I
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_3
      StackMap locals:
      StackMap stack: int
        37: istore 24 /* width */
        start local 24 // int width
        38: .line 458
            aload 16 /* buffer */
            lload 13 /* milliseconds */
            iconst_1
            iload 24 /* width */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 24 // int width
        39: .line 459
            goto 41
        40: .line 460
      StackMap locals:
      StackMap stack:
            aload 16 /* buffer */
            lload 13 /* milliseconds */
            iload 15 /* padWithZeros */
            iload 23 /* count */
            invokestatic org.apache.commons.lang3.time.DurationFormatUtils.paddedValue:(JZI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 462
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 17 /* lastOutputSeconds */
        end local 23 // int count
        end local 22 // java.lang.Object value
        end local 18 // org.apache.commons.lang3.time.DurationFormatUtils$Token token
        42: .line 430
      StackMap locals: org.apache.commons.lang3.time.DurationFormatUtils$Token[] long long long long long long long int java.lang.StringBuilder int top int int org.apache.commons.lang3.time.DurationFormatUtils$Token[]
      StackMap stack:
            iinc 19 1
      StackMap locals:
      StackMap stack:
        43: iload 19
            iload 20
            if_icmplt 3
        44: .line 466
            aload 16 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 17 // boolean lastOutputSeconds
        end local 16 // java.lang.StringBuilder buffer
        end local 15 // boolean padWithZeros
        end local 13 // long milliseconds
        end local 11 // long seconds
        end local 9 // long minutes
        end local 7 // long hours
        end local 5 // long days
        end local 3 // long months
        end local 1 // long years
        end local 0 // org.apache.commons.lang3.time.DurationFormatUtils$Token[] tokens
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0             tokens  [Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
            0   45     1              years  J
            0   45     3             months  J
            0   45     5               days  J
            0   45     7              hours  J
            0   45     9            minutes  J
            0   45    11            seconds  J
            0   45    13       milliseconds  J
            0   45    15       padWithZeros  Z
            1   45    16             buffer  Ljava/lang/StringBuilder;
            2   45    17  lastOutputSeconds  Z
            4   42    18              token  Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
            5   42    22              value  Ljava/lang/Object;
            6   42    23              count  I
           38   39    24              width  I
    MethodParameters:
              Name  Flags
      tokens        final
      years         final
      months        final
      days          final
      hours         final
      minutes       final
      seconds       final
      milliseconds  final
      padWithZeros  final

  private static java.lang.String paddedValue(long, boolean, int);
    descriptor: (JZI)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // long value
        start local 2 // boolean padWithZeros
        start local 3 // int count
         0: .line 479
            lload 0 /* value */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            astore 4 /* longString */
        start local 4 // java.lang.String longString
         1: .line 480
            iload 2 /* padWithZeros */
            ifeq 2
            aload 4 /* longString */
            iload 3 /* count */
            bipush 48
            invokestatic org.apache.commons.lang3.StringUtils.leftPad:(Ljava/lang/String;IC)Ljava/lang/String;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 4 /* longString */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 4 // java.lang.String longString
        end local 3 // int count
        end local 2 // boolean padWithZeros
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0         value  J
            0    4     2  padWithZeros  Z
            0    4     3         count  I
            1    4     4    longString  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      value         final
      padWithZeros  final
      count         final

  static org.apache.commons.lang3.time.DurationFormatUtils$Token[] lexx(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.lang.String format
         0: .line 498
            new java.util.ArrayList
            dup
            aload 0 /* format */
            invokevirtual java.lang.String.length:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 500
            iconst_0
            istore 2 /* inLiteral */
        start local 2 // boolean inLiteral
         2: .line 503
            aconst_null
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuilder buffer
         3: .line 504
            aconst_null
            astore 4 /* previous */
        start local 4 // org.apache.commons.lang3.time.DurationFormatUtils$Token previous
         4: .line 505
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 47
         6: .line 506
      StackMap locals: java.lang.String java.util.ArrayList int java.lang.StringBuilder org.apache.commons.lang3.time.DurationFormatUtils$Token int
      StackMap stack:
            aload 0 /* format */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* ch */
        start local 6 // char ch
         7: .line 507
            iload 2 /* inLiteral */
            ifeq 10
            iload 6 /* ch */
            bipush 39
            if_icmpeq 10
         8: .line 508
            aload 3 /* buffer */
            iload 6 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 509
            goto 46
        10: .line 511
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 7 /* value */
        start local 7 // java.lang.Object value
        11: .line 512
            iload 6 /* ch */
            lookupswitch { // 8
                   39: 12
                   72: 26
                   77: 22
                   83: 32
                  100: 24
                  109: 28
                  115: 30
                  121: 20
              default: 34
          }
        12: .line 515
      StackMap locals: java.lang.Object
      StackMap stack:
            iload 2 /* inLiteral */
            ifeq 16
        13: .line 516
            aconst_null
            astore 3 /* buffer */
        14: .line 517
            iconst_0
            istore 2 /* inLiteral */
        15: .line 518
            goto 38
        16: .line 519
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buffer */
        17: .line 520
            aload 1 /* list */
            new org.apache.commons.lang3.time.DurationFormatUtils$Token
            dup
            aload 3 /* buffer */
            invokespecial org.apache.commons.lang3.time.DurationFormatUtils$Token.<init>:(Ljava/lang/Object;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        18: .line 521
            iconst_1
            istore 2 /* inLiteral */
        19: .line 523
            goto 38
        20: .line 525
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.y:Ljava/lang/Object;
            astore 7 /* value */
        21: .line 526
            goto 38
        22: .line 528
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.M:Ljava/lang/Object;
            astore 7 /* value */
        23: .line 529
            goto 38
        24: .line 531
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.d:Ljava/lang/Object;
            astore 7 /* value */
        25: .line 532
            goto 38
        26: .line 534
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.H:Ljava/lang/Object;
            astore 7 /* value */
        27: .line 535
            goto 38
        28: .line 537
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.m:Ljava/lang/Object;
            astore 7 /* value */
        29: .line 538
            goto 38
        30: .line 540
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.s:Ljava/lang/Object;
            astore 7 /* value */
        31: .line 541
            goto 38
        32: .line 543
      StackMap locals:
      StackMap stack:
            getstatic org.apache.commons.lang3.time.DurationFormatUtils.S:Ljava/lang/Object;
            astore 7 /* value */
        33: .line 544
            goto 38
        34: .line 546
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            ifnonnull 37
        35: .line 547
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buffer */
        36: .line 548
            aload 1 /* list */
            new org.apache.commons.lang3.time.DurationFormatUtils$Token
            dup
            aload 3 /* buffer */
            invokespecial org.apache.commons.lang3.time.DurationFormatUtils$Token.<init>:(Ljava/lang/Object;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        37: .line 550
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iload 6 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        38: .line 553
      StackMap locals:
      StackMap stack:
            aload 7 /* value */
            ifnull 46
        39: .line 554
            aload 4 /* previous */
            ifnull 42
            aload 4 /* previous */
            invokevirtual org.apache.commons.lang3.time.DurationFormatUtils$Token.getValue:()Ljava/lang/Object;
            aload 7 /* value */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 42
        40: .line 555
            aload 4 /* previous */
            invokevirtual org.apache.commons.lang3.time.DurationFormatUtils$Token.increment:()V
        41: .line 556
            goto 45
        42: .line 557
      StackMap locals:
      StackMap stack:
            new org.apache.commons.lang3.time.DurationFormatUtils$Token
            dup
            aload 7 /* value */
            invokespecial org.apache.commons.lang3.time.DurationFormatUtils$Token.<init>:(Ljava/lang/Object;)V
            astore 8 /* token */
        start local 8 // org.apache.commons.lang3.time.DurationFormatUtils$Token token
        43: .line 558
            aload 1 /* list */
            aload 8 /* token */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        44: .line 559
            aload 8 /* token */
            astore 4 /* previous */
        end local 8 // org.apache.commons.lang3.time.DurationFormatUtils$Token token
        45: .line 561
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* buffer */
        end local 7 // java.lang.Object value
        end local 6 // char ch
        46: .line 505
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 5 /* i */
            aload 0 /* format */
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
        end local 5 // int i
        48: .line 564
            iload 2 /* inLiteral */
            ifeq 50
        49: .line 565
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unmatched quote in format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* format */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 567
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            iconst_0
            anewarray org.apache.commons.lang3.time.DurationFormatUtils$Token
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.commons.lang3.time.DurationFormatUtils$Token[]
            areturn
        end local 4 // org.apache.commons.lang3.time.DurationFormatUtils$Token previous
        end local 3 // java.lang.StringBuilder buffer
        end local 2 // boolean inLiteral
        end local 1 // java.util.ArrayList list
        end local 0 // java.lang.String format
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   51     0     format  Ljava/lang/String;
            1   51     1       list  Ljava/util/ArrayList<Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;>;
            2   51     2  inLiteral  Z
            3   51     3     buffer  Ljava/lang/StringBuilder;
            4   51     4   previous  Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
            5   48     5          i  I
            7   46     6         ch  C
           11   46     7      value  Ljava/lang/Object;
           43   45     8      token  Lorg/apache/commons/lang3/time/DurationFormatUtils$Token;
    MethodParameters:
        Name  Flags
      format  final
}
SourceFile: "DurationFormatUtils.java"
NestMembers:
  org.apache.commons.lang3.time.DurationFormatUtils$Token
InnerClasses:
  Token = org.apache.commons.lang3.time.DurationFormatUtils$Token of org.apache.commons.lang3.time.DurationFormatUtils