public class org.apache.commons.lang3.time.DateUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.lang3.time.DateUtils
  super_class: java.lang.Object
{
  public static final long MILLIS_PER_SECOND;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  public static final long MILLIS_PER_MINUTE;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 60000

  public static final long MILLIS_PER_HOUR;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3600000

  public static final long MILLIS_PER_DAY;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 86400000

  public static final int SEMI_MONTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1001

  private static final int[][] fields;
    descriptor: [[I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final int RANGE_WEEK_SUNDAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int RANGE_WEEK_MONDAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int RANGE_WEEK_RELATIVE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int RANGE_WEEK_CENTER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int RANGE_MONTH_SUNDAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int RANGE_MONTH_MONDAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 83
            bipush 8
            anewarray int[]
            dup
            iconst_0
         1: .line 84
            iconst_1
            newarray 10
            dup
            iconst_0
            bipush 14
            iastore
            aastore
            dup
            iconst_1
         2: .line 85
            iconst_1
            newarray 10
            dup
            iconst_0
            bipush 13
            iastore
            aastore
            dup
            iconst_2
         3: .line 86
            iconst_1
            newarray 10
            dup
            iconst_0
            bipush 12
            iastore
            aastore
            dup
            iconst_3
         4: .line 87
            iconst_2
            newarray 10
            dup
            iconst_0
            bipush 11
            iastore
            dup
            iconst_1
            bipush 10
            iastore
            aastore
            dup
            iconst_4
         5: .line 88
            iconst_3
            newarray 10
            dup
            iconst_0
            iconst_5
            iastore
            dup
            iconst_1
            iconst_5
            iastore
            dup
            iconst_2
            bipush 9
            iastore
            aastore
            dup
            iconst_5
         6: .line 91
            iconst_2
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            dup
            iconst_1
            sipush 1001
            iastore
            aastore
            dup
            bipush 6
         7: .line 92
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            aastore
            dup
            bipush 7
         8: .line 93
            iconst_1
            newarray 10
            aastore
         9: .line 83
            putstatic org.apache.commons.lang3.time.DateUtils.fields:[[I
        10: .line 118
            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.DateUtils this
         0: .line 149
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            return
        end local 0 // org.apache.commons.lang3.time.DateUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/lang3/time/DateUtils;

  public static boolean isSameDay(java.util.Date, java.util.Date);
    descriptor: (Ljava/util/Date;Ljava/util/Date;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.util.Date date1
        start local 1 // java.util.Date date2
         0: .line 167
            aload 0 /* date1 */
            ifnull 1
            aload 1 /* date2 */
            ifnonnull 2
         1: .line 168
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 170
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 2 /* cal1 */
        start local 2 // java.util.Calendar cal1
         3: .line 171
            aload 2 /* cal1 */
            aload 0 /* date1 */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         4: .line 172
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 3 /* cal2 */
        start local 3 // java.util.Calendar cal2
         5: .line 173
            aload 3 /* cal2 */
            aload 1 /* date2 */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         6: .line 174
            aload 2 /* cal1 */
            aload 3 /* cal2 */
            invokestatic org.apache.commons.lang3.time.DateUtils.isSameDay:(Ljava/util/Calendar;Ljava/util/Calendar;)Z
            ireturn
        end local 3 // java.util.Calendar cal2
        end local 2 // java.util.Calendar cal1
        end local 1 // java.util.Date date2
        end local 0 // java.util.Date date1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  date1  Ljava/util/Date;
            0    7     1  date2  Ljava/util/Date;
            3    7     2   cal1  Ljava/util/Calendar;
            5    7     3   cal2  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      date1  final
      date2  final

  public static boolean isSameDay(java.util.Calendar, java.util.Calendar);
    descriptor: (Ljava/util/Calendar;Ljava/util/Calendar;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar cal1
        start local 1 // java.util.Calendar cal2
         0: .line 191
            aload 0 /* cal1 */
            ifnull 1
            aload 1 /* cal2 */
            ifnonnull 2
         1: .line 192
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* cal1 */
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 6
         3: .line 195
            aload 0 /* cal1 */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 6
         4: .line 196
            aload 0 /* cal1 */
            bipush 6
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            bipush 6
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 6
         5: .line 194
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // java.util.Calendar cal2
        end local 0 // java.util.Calendar cal1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  cal1  Ljava/util/Calendar;
            0    7     1  cal2  Ljava/util/Calendar;
    MethodParameters:
      Name  Flags
      cal1  final
      cal2  final

  public static boolean isSameInstant(java.util.Date, java.util.Date);
    descriptor: (Ljava/util/Date;Ljava/util/Date;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Date date1
        start local 1 // java.util.Date date2
         0: .line 212
            aload 0 /* date1 */
            ifnull 1
            aload 1 /* date2 */
            ifnonnull 2
         1: .line 213
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* date1 */
            invokevirtual java.util.Date.getTime:()J
            aload 1 /* date2 */
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.util.Date date2
        end local 0 // java.util.Date date1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  date1  Ljava/util/Date;
            0    4     1  date2  Ljava/util/Date;
    MethodParameters:
       Name  Flags
      date1  final
      date2  final

  public static boolean isSameInstant(java.util.Calendar, java.util.Calendar);
    descriptor: (Ljava/util/Calendar;Ljava/util/Calendar;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Calendar cal1
        start local 1 // java.util.Calendar cal2
         0: .line 230
            aload 0 /* cal1 */
            ifnull 1
            aload 1 /* cal2 */
            ifnonnull 2
         1: .line 231
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* cal1 */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            aload 1 /* cal2 */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.util.Calendar cal2
        end local 0 // java.util.Calendar cal1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  cal1  Ljava/util/Calendar;
            0    4     1  cal2  Ljava/util/Calendar;
    MethodParameters:
      Name  Flags
      cal1  final
      cal2  final

  public static boolean isSameLocalTime(java.util.Calendar, java.util.Calendar);
    descriptor: (Ljava/util/Calendar;Ljava/util/Calendar;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar cal1
        start local 1 // java.util.Calendar cal2
         0: .line 250
            aload 0 /* cal1 */
            ifnull 1
            aload 1 /* cal2 */
            ifnonnull 2
         1: .line 251
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* cal1 */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 11
         3: .line 254
            aload 0 /* cal1 */
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 11
         4: .line 255
            aload 0 /* cal1 */
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 11
         5: .line 256
            aload 0 /* cal1 */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 11
         6: .line 257
            aload 0 /* cal1 */
            bipush 6
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            bipush 6
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 11
         7: .line 258
            aload 0 /* cal1 */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 11
         8: .line 259
            aload 0 /* cal1 */
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal2 */
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            if_icmpne 11
         9: .line 260
            aload 0 /* cal1 */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* cal2 */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpne 11
        10: .line 253
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        end local 1 // java.util.Calendar cal2
        end local 0 // java.util.Calendar cal1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  cal1  Ljava/util/Calendar;
            0   12     1  cal2  Ljava/util/Calendar;
    MethodParameters:
      Name  Flags
      cal1  final
      cal2  final

  public static java.util.Date parseDate(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Date;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String[] parsePatterns
         0: .line 279
            aload 0 /* str */
            aconst_null
            aload 1 /* parsePatterns */
            invokestatic org.apache.commons.lang3.time.DateUtils.parseDate:(Ljava/lang/String;Ljava/util/Locale;[Ljava/lang/String;)Ljava/util/Date;
            areturn
        end local 1 // java.lang.String[] parsePatterns
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0            str  Ljava/lang/String;
            0    1     1  parsePatterns  [Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
               Name  Flags
      str            final
      parsePatterns  final

  public static java.util.Date parseDate(java.lang.String, java.util.Locale, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;[Ljava/lang/String;)Ljava/util/Date;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String str
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.String[] parsePatterns
         0: .line 302
            aload 0 /* str */
            aload 1 /* locale */
            aload 2 /* parsePatterns */
            iconst_1
            invokestatic org.apache.commons.lang3.time.DateUtils.parseDateWithLeniency:(Ljava/lang/String;Ljava/util/Locale;[Ljava/lang/String;Z)Ljava/util/Date;
            areturn
        end local 2 // java.lang.String[] parsePatterns
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0            str  Ljava/lang/String;
            0    1     1         locale  Ljava/util/Locale;
            0    1     2  parsePatterns  [Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
               Name  Flags
      str            final
      locale         final
      parsePatterns  final

  public static java.util.Date parseDateStrictly(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Date;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String[] parsePatterns
         0: .line 322
            aload 0 /* str */
            aconst_null
            aload 1 /* parsePatterns */
            invokestatic org.apache.commons.lang3.time.DateUtils.parseDateStrictly:(Ljava/lang/String;Ljava/util/Locale;[Ljava/lang/String;)Ljava/util/Date;
            areturn
        end local 1 // java.lang.String[] parsePatterns
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0            str  Ljava/lang/String;
            0    1     1  parsePatterns  [Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
               Name  Flags
      str            final
      parsePatterns  final

  public static java.util.Date parseDateStrictly(java.lang.String, java.util.Locale, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;[Ljava/lang/String;)Ljava/util/Date;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String str
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.String[] parsePatterns
         0: .line 344
            aload 0 /* str */
            aload 1 /* locale */
            aload 2 /* parsePatterns */
            iconst_0
            invokestatic org.apache.commons.lang3.time.DateUtils.parseDateWithLeniency:(Ljava/lang/String;Ljava/util/Locale;[Ljava/lang/String;Z)Ljava/util/Date;
            areturn
        end local 2 // java.lang.String[] parsePatterns
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0            str  Ljava/lang/String;
            0    1     1         locale  Ljava/util/Locale;
            0    1     2  parsePatterns  [Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
               Name  Flags
      str            final
      locale         final
      parsePatterns  final

  private static java.util.Date parseDateWithLeniency(java.lang.String, java.util.Locale, java.lang.String[], boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;[Ljava/lang/String;Z)Ljava/util/Date;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // java.lang.String str
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.String[] parsePatterns
        start local 3 // boolean lenient
         0: .line 366
            aload 0 /* str */
            ifnull 1
            aload 2 /* parsePatterns */
            ifnonnull 2
         1: .line 367
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Date and Patterns must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 370
      StackMap locals:
      StackMap stack:
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            astore 4 /* tz */
        start local 4 // java.util.TimeZone tz
         3: .line 371
            aload 1 /* locale */
            ifnonnull 4
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            goto 5
      StackMap locals: java.util.TimeZone
      StackMap stack:
         4: aload 1 /* locale */
      StackMap locals:
      StackMap stack: java.util.Locale
         5: astore 5 /* lcl */
        start local 5 // java.util.Locale lcl
         6: .line 372
            new java.text.ParsePosition
            dup
            iconst_0
            invokespecial java.text.ParsePosition.<init>:(I)V
            astore 6 /* pos */
        start local 6 // java.text.ParsePosition pos
         7: .line 373
            aload 4 /* tz */
            aload 5 /* lcl */
            invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;
            astore 7 /* calendar */
        start local 7 // java.util.Calendar calendar
         8: .line 374
            aload 7 /* calendar */
            iload 3 /* lenient */
            invokevirtual java.util.Calendar.setLenient:(Z)V
         9: .line 376
            aload 2 /* parsePatterns */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 19
      StackMap locals: java.lang.String java.util.Locale java.lang.String[] int java.util.TimeZone java.util.Locale java.text.ParsePosition java.util.Calendar top int int java.lang.String[]
      StackMap stack:
        10: aload 11
            iload 9
            aaload
            astore 8 /* parsePattern */
        start local 8 // java.lang.String parsePattern
        11: .line 377
            new org.apache.commons.lang3.time.FastDateParser
            dup
            aload 8 /* parsePattern */
            aload 4 /* tz */
            aload 5 /* lcl */
            invokespecial org.apache.commons.lang3.time.FastDateParser.<init>:(Ljava/lang/String;Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 12 /* fdp */
        start local 12 // org.apache.commons.lang3.time.FastDateParser fdp
        12: .line 378
            aload 7 /* calendar */
            invokevirtual java.util.Calendar.clear:()V
        13: .line 380
            aload 12 /* fdp */
            aload 0 /* str */
            aload 6 /* pos */
            aload 7 /* calendar */
            invokevirtual org.apache.commons.lang3.time.FastDateParser.parse:(Ljava/lang/String;Ljava/text/ParsePosition;Ljava/util/Calendar;)Z
            ifeq 17
            aload 6 /* pos */
            invokevirtual java.text.ParsePosition.getIndex:()I
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmpne 17
        14: .line 381
            aload 7 /* calendar */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
        15: areturn
        16: .line 383
      StackMap locals: java.lang.String java.util.Locale java.lang.String[] int java.util.TimeZone java.util.Locale java.text.ParsePosition java.util.Calendar java.lang.String int int java.lang.String[] org.apache.commons.lang3.time.FastDateParser
      StackMap stack: java.lang.IllegalArgumentException
            pop
        17: .line 386
      StackMap locals:
      StackMap stack:
            aload 6 /* pos */
            iconst_0
            invokevirtual java.text.ParsePosition.setIndex:(I)V
        end local 12 // org.apache.commons.lang3.time.FastDateParser fdp
        end local 8 // java.lang.String parsePattern
        18: .line 376
            iinc 9 1
      StackMap locals: java.lang.String java.util.Locale java.lang.String[] int java.util.TimeZone java.util.Locale java.text.ParsePosition java.util.Calendar top int int java.lang.String[]
      StackMap stack:
        19: iload 9
            iload 10
            if_icmplt 10
        20: .line 388
            new java.text.ParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to parse the date: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_m1
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        end local 7 // java.util.Calendar calendar
        end local 6 // java.text.ParsePosition pos
        end local 5 // java.util.Locale lcl
        end local 4 // java.util.TimeZone tz
        end local 3 // boolean lenient
        end local 2 // java.lang.String[] parsePatterns
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0            str  Ljava/lang/String;
            0   21     1         locale  Ljava/util/Locale;
            0   21     2  parsePatterns  [Ljava/lang/String;
            0   21     3        lenient  Z
            3   21     4             tz  Ljava/util/TimeZone;
            6   21     5            lcl  Ljava/util/Locale;
            7   21     6            pos  Ljava/text/ParsePosition;
            8   21     7       calendar  Ljava/util/Calendar;
           11   18     8   parsePattern  Ljava/lang/String;
           12   18    12            fdp  Lorg/apache/commons/lang3/time/FastDateParser;
      Exception table:
        from    to  target  type
          13    15      16  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
               Name  Flags
      str            final
      locale         final
      parsePatterns  final
      lenient        final

  public static java.util.Date addYears(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 402
            aload 0 /* date */
            iconst_1
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date addMonths(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 416
            aload 0 /* date */
            iconst_2
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date addWeeks(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 430
            aload 0 /* date */
            iconst_3
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date addDays(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 444
            aload 0 /* date */
            iconst_5
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date addHours(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 458
            aload 0 /* date */
            bipush 11
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date addMinutes(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 472
            aload 0 /* date */
            bipush 12
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date addSeconds(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 486
            aload 0 /* date */
            bipush 13
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date addMilliseconds(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 500
            aload 0 /* date */
            bipush 14
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.add:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  private static java.util.Date add(java.util.Date, int, int);
    descriptor: (Ljava/util/Date;II)Ljava/util/Date;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.Date date
        start local 1 // int calendarField
        start local 2 // int amount
         0: .line 515
            aload 0 /* date */
            invokestatic org.apache.commons.lang3.time.DateUtils.validateDateNotNull:(Ljava/util/Date;)V
         1: .line 516
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 3 /* c */
        start local 3 // java.util.Calendar c
         2: .line 517
            aload 3 /* c */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         3: .line 518
            aload 3 /* c */
            iload 1 /* calendarField */
            iload 2 /* amount */
            invokevirtual java.util.Calendar.add:(II)V
         4: .line 519
            aload 3 /* c */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
        end local 3 // java.util.Calendar c
        end local 2 // int amount
        end local 1 // int calendarField
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           date  Ljava/util/Date;
            0    5     1  calendarField  I
            0    5     2         amount  I
            2    5     3              c  Ljava/util/Calendar;
    MethodParameters:
               Name  Flags
      date           final
      calendarField  final
      amount         final

  public static java.util.Date setYears(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 534
            aload 0 /* date */
            iconst_1
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.set:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date setMonths(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 549
            aload 0 /* date */
            iconst_2
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.set:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date setDays(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 564
            aload 0 /* date */
            iconst_5
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.set:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date setHours(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 580
            aload 0 /* date */
            bipush 11
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.set:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date setMinutes(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 595
            aload 0 /* date */
            bipush 12
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.set:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date setSeconds(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 610
            aload 0 /* date */
            bipush 13
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.set:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  public static java.util.Date setMilliseconds(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int amount
         0: .line 625
            aload 0 /* date */
            bipush 14
            iload 1 /* amount */
            invokestatic org.apache.commons.lang3.time.DateUtils.set:(Ljava/util/Date;II)Ljava/util/Date;
            areturn
        end local 1 // int amount
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    date  Ljava/util/Date;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      date    final
      amount  final

  private static java.util.Date set(java.util.Date, int, int);
    descriptor: (Ljava/util/Date;II)Ljava/util/Date;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.Date date
        start local 1 // int calendarField
        start local 2 // int amount
         0: .line 642
            aload 0 /* date */
            invokestatic org.apache.commons.lang3.time.DateUtils.validateDateNotNull:(Ljava/util/Date;)V
         1: .line 644
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 3 /* c */
        start local 3 // java.util.Calendar c
         2: .line 645
            aload 3 /* c */
            iconst_0
            invokevirtual java.util.Calendar.setLenient:(Z)V
         3: .line 646
            aload 3 /* c */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         4: .line 647
            aload 3 /* c */
            iload 1 /* calendarField */
            iload 2 /* amount */
            invokevirtual java.util.Calendar.set:(II)V
         5: .line 648
            aload 3 /* c */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
        end local 3 // java.util.Calendar c
        end local 2 // int amount
        end local 1 // int calendarField
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           date  Ljava/util/Date;
            0    6     1  calendarField  I
            0    6     2         amount  I
            2    6     3              c  Ljava/util/Calendar;
    MethodParameters:
               Name  Flags
      date           final
      calendarField  final
      amount         final

  public static java.util.Calendar toCalendar(java.util.Date);
    descriptor: (Ljava/util/Date;)Ljava/util/Calendar;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Date date
         0: .line 661
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 1 /* c */
        start local 1 // java.util.Calendar c
         1: .line 662
            aload 1 /* c */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         2: .line 663
            aload 1 /* c */
            areturn
        end local 1 // java.util.Calendar c
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  date  Ljava/util/Date;
            1    3     1     c  Ljava/util/Calendar;
    MethodParameters:
      Name  Flags
      date  final

  public static java.util.Calendar toCalendar(java.util.Date, java.util.TimeZone);
    descriptor: (Ljava/util/Date;Ljava/util/TimeZone;)Ljava/util/Calendar;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.Date date
        start local 1 // java.util.TimeZone tz
         0: .line 675
            aload 1 /* tz */
            invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;)Ljava/util/Calendar;
            astore 2 /* c */
        start local 2 // java.util.Calendar c
         1: .line 676
            aload 2 /* c */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         2: .line 677
            aload 2 /* c */
            areturn
        end local 2 // java.util.Calendar c
        end local 1 // java.util.TimeZone tz
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  date  Ljava/util/Date;
            0    3     1    tz  Ljava/util/TimeZone;
            1    3     2     c  Ljava/util/Calendar;
    MethodParameters:
      Name  Flags
      date  final
      tz    final

  public static java.util.Date round(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int field
         0: .line 708
            aload 0 /* date */
            invokestatic org.apache.commons.lang3.time.DateUtils.validateDateNotNull:(Ljava/util/Date;)V
         1: .line 709
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 2 /* gval */
        start local 2 // java.util.Calendar gval
         2: .line 710
            aload 2 /* gval */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         3: .line 711
            aload 2 /* gval */
            iload 1 /* field */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.ROUND:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            invokestatic org.apache.commons.lang3.time.DateUtils.modify:(Ljava/util/Calendar;ILorg/apache/commons/lang3/time/DateUtils$ModifyType;)V
         4: .line 712
            aload 2 /* gval */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
        end local 2 // java.util.Calendar gval
        end local 1 // int field
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   date  Ljava/util/Date;
            0    5     1  field  I
            2    5     2   gval  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Calendar round(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)Ljava/util/Calendar;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Calendar date
        start local 1 // int field
         0: .line 743
            aload 0 /* date */
            ifnonnull 2
         1: .line 744
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            astore 2 /* rounded */
        start local 2 // java.util.Calendar rounded
         3: .line 747
            aload 2 /* rounded */
            iload 1 /* field */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.ROUND:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            invokestatic org.apache.commons.lang3.time.DateUtils.modify:(Ljava/util/Calendar;ILorg/apache/commons/lang3/time/DateUtils$ModifyType;)V
         4: .line 748
            aload 2 /* rounded */
            areturn
        end local 2 // java.util.Calendar rounded
        end local 1 // int field
        end local 0 // java.util.Calendar date
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     date  Ljava/util/Calendar;
            0    5     1    field  I
            3    5     2  rounded  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Date round(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Object date
        start local 1 // int field
         0: .line 780
            aload 0 /* date */
            ifnonnull 2
         1: .line 781
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            instanceof java.util.Date
            ifeq 4
         3: .line 784
            aload 0 /* date */
            checkcast java.util.Date
            iload 1 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.round:(Ljava/util/Date;I)Ljava/util/Date;
            areturn
         4: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            instanceof java.util.Calendar
            ifeq 6
         5: .line 786
            aload 0 /* date */
            checkcast java.util.Calendar
            iload 1 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.round:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
         6: .line 788
      StackMap locals:
      StackMap stack:
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not round "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* date */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int field
        end local 0 // java.lang.Object date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   date  Ljava/lang/Object;
            0    7     1  field  I
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Date truncate(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int field
         0: .line 809
            aload 0 /* date */
            invokestatic org.apache.commons.lang3.time.DateUtils.validateDateNotNull:(Ljava/util/Date;)V
         1: .line 810
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 2 /* gval */
        start local 2 // java.util.Calendar gval
         2: .line 811
            aload 2 /* gval */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         3: .line 812
            aload 2 /* gval */
            iload 1 /* field */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.TRUNCATE:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            invokestatic org.apache.commons.lang3.time.DateUtils.modify:(Ljava/util/Calendar;ILorg/apache/commons/lang3/time/DateUtils$ModifyType;)V
         4: .line 813
            aload 2 /* gval */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
        end local 2 // java.util.Calendar gval
        end local 1 // int field
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   date  Ljava/util/Date;
            0    5     1  field  I
            2    5     2   gval  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Calendar truncate(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)Ljava/util/Calendar;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Calendar date
        start local 1 // int field
         0: .line 832
            aload 0 /* date */
            ifnonnull 2
         1: .line 833
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            astore 2 /* truncated */
        start local 2 // java.util.Calendar truncated
         3: .line 836
            aload 2 /* truncated */
            iload 1 /* field */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.TRUNCATE:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            invokestatic org.apache.commons.lang3.time.DateUtils.modify:(Ljava/util/Calendar;ILorg/apache/commons/lang3/time/DateUtils$ModifyType;)V
         4: .line 837
            aload 2 /* truncated */
            areturn
        end local 2 // java.util.Calendar truncated
        end local 1 // int field
        end local 0 // java.util.Calendar date
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       date  Ljava/util/Calendar;
            0    5     1      field  I
            3    5     2  truncated  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Date truncate(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Object date
        start local 1 // int field
         0: .line 857
            aload 0 /* date */
            ifnonnull 2
         1: .line 858
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            instanceof java.util.Date
            ifeq 4
         3: .line 861
            aload 0 /* date */
            checkcast java.util.Date
            iload 1 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Date;I)Ljava/util/Date;
            areturn
         4: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            instanceof java.util.Calendar
            ifeq 6
         5: .line 863
            aload 0 /* date */
            checkcast java.util.Calendar
            iload 1 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
         6: .line 865
      StackMap locals:
      StackMap stack:
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not truncate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* date */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int field
        end local 0 // java.lang.Object date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   date  Ljava/lang/Object;
            0    7     1  field  I
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Date ceiling(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int field
         0: .line 887
            aload 0 /* date */
            invokestatic org.apache.commons.lang3.time.DateUtils.validateDateNotNull:(Ljava/util/Date;)V
         1: .line 888
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 2 /* gval */
        start local 2 // java.util.Calendar gval
         2: .line 889
            aload 2 /* gval */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         3: .line 890
            aload 2 /* gval */
            iload 1 /* field */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.CEILING:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            invokestatic org.apache.commons.lang3.time.DateUtils.modify:(Ljava/util/Calendar;ILorg/apache/commons/lang3/time/DateUtils$ModifyType;)V
         4: .line 891
            aload 2 /* gval */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
        end local 2 // java.util.Calendar gval
        end local 1 // int field
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   date  Ljava/util/Date;
            0    5     1  field  I
            2    5     2   gval  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Calendar ceiling(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)Ljava/util/Calendar;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Calendar date
        start local 1 // int field
         0: .line 911
            aload 0 /* date */
            ifnonnull 2
         1: .line 912
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 914
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            astore 2 /* ceiled */
        start local 2 // java.util.Calendar ceiled
         3: .line 915
            aload 2 /* ceiled */
            iload 1 /* field */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.CEILING:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            invokestatic org.apache.commons.lang3.time.DateUtils.modify:(Ljava/util/Calendar;ILorg/apache/commons/lang3/time/DateUtils$ModifyType;)V
         4: .line 916
            aload 2 /* ceiled */
            areturn
        end local 2 // java.util.Calendar ceiled
        end local 1 // int field
        end local 0 // java.util.Calendar date
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    date  Ljava/util/Calendar;
            0    5     1   field  I
            3    5     2  ceiled  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      date   final
      field  final

  public static java.util.Date ceiling(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/util/Date;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Object date
        start local 1 // int field
         0: .line 937
            aload 0 /* date */
            ifnonnull 2
         1: .line 938
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 940
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            instanceof java.util.Date
            ifeq 4
         3: .line 941
            aload 0 /* date */
            checkcast java.util.Date
            iload 1 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.ceiling:(Ljava/util/Date;I)Ljava/util/Date;
            areturn
         4: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* date */
            instanceof java.util.Calendar
            ifeq 6
         5: .line 943
            aload 0 /* date */
            checkcast java.util.Calendar
            iload 1 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.ceiling:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
         6: .line 945
      StackMap locals:
      StackMap stack:
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find ceiling of for type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* date */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int field
        end local 0 // java.lang.Object date
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   date  Ljava/lang/Object;
            0    7     1  field  I
    MethodParameters:
       Name  Flags
      date   final
      field  final

  private static void modify(java.util.Calendar, int, org.apache.commons.lang3.time.DateUtils$ModifyType);
    descriptor: (Ljava/util/Calendar;ILorg/apache/commons/lang3/time/DateUtils$ModifyType;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=19, args_size=3
        start local 0 // java.util.Calendar val
        start local 1 // int field
        start local 2 // org.apache.commons.lang3.time.DateUtils$ModifyType modType
         0: .line 959
            aload 0 /* val */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            ldc 280000000
            if_icmple 2
         1: .line 960
            new java.lang.ArithmeticException
            dup
            ldc "Calendar value too large for accurate calculations"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 963
      StackMap locals:
      StackMap stack:
            iload 1 /* field */
            bipush 14
            if_icmpne 4
         3: .line 964
            return
         4: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            astore 3 /* date */
        start local 3 // java.util.Date date
         5: .line 974
            aload 3 /* date */
            invokevirtual java.util.Date.getTime:()J
            lstore 4 /* time */
        start local 4 // long time
         6: .line 975
            iconst_0
            istore 6 /* done */
        start local 6 // boolean done
         7: .line 978
            aload 0 /* val */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            istore 7 /* millisecs */
        start local 7 // int millisecs
         8: .line 979
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.TRUNCATE:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            aload 2 /* modType */
            if_acmpeq 9
            iload 7 /* millisecs */
            sipush 500
            if_icmpge 10
         9: .line 980
      StackMap locals: java.util.Calendar int org.apache.commons.lang3.time.DateUtils$ModifyType java.util.Date long int int
      StackMap stack:
            lload 4 /* time */
            iload 7 /* millisecs */
            i2l
            lsub
            lstore 4 /* time */
        10: .line 982
      StackMap locals:
      StackMap stack:
            iload 1 /* field */
            bipush 13
            if_icmpne 12
        11: .line 983
            iconst_1
            istore 6 /* done */
        12: .line 987
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            istore 8 /* seconds */
        start local 8 // int seconds
        13: .line 988
            iload 6 /* done */
            ifne 15
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.TRUNCATE:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            aload 2 /* modType */
            if_acmpeq 14
            iload 8 /* seconds */
            bipush 30
            if_icmpge 15
        14: .line 989
      StackMap locals: int
      StackMap stack:
            lload 4 /* time */
            iload 8 /* seconds */
            i2l
            ldc 1000
            lmul
            lsub
            lstore 4 /* time */
        15: .line 991
      StackMap locals:
      StackMap stack:
            iload 1 /* field */
            bipush 12
            if_icmpne 17
        16: .line 992
            iconst_1
            istore 6 /* done */
        17: .line 996
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            istore 9 /* minutes */
        start local 9 // int minutes
        18: .line 997
            iload 6 /* done */
            ifne 20
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.TRUNCATE:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            aload 2 /* modType */
            if_acmpeq 19
            iload 9 /* minutes */
            bipush 30
            if_icmpge 20
        19: .line 998
      StackMap locals: int
      StackMap stack:
            lload 4 /* time */
            iload 9 /* minutes */
            i2l
            ldc 60000
            lmul
            lsub
            lstore 4 /* time */
        20: .line 1002
      StackMap locals:
      StackMap stack:
            aload 3 /* date */
            invokevirtual java.util.Date.getTime:()J
            lload 4 /* time */
            lcmp
            ifeq 23
        21: .line 1003
            aload 3 /* date */
            lload 4 /* time */
            invokevirtual java.util.Date.setTime:(J)V
        22: .line 1004
            aload 0 /* val */
            aload 3 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
        23: .line 1008
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* roundUp */
        start local 10 // boolean roundUp
        24: .line 1009
            getstatic org.apache.commons.lang3.time.DateUtils.fields:[[I
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 79
      StackMap locals: java.util.Calendar int org.apache.commons.lang3.time.DateUtils$ModifyType java.util.Date long int int int int int top int int int[][]
      StackMap stack:
        25: aload 14
            iload 12
            aaload
            astore 11 /* aField */
        start local 11 // int[] aField
        26: .line 1010
            aload 11 /* aField */
            dup
            astore 18
            arraylength
            istore 17
            iconst_0
            istore 16
            goto 47
      StackMap locals: java.util.Calendar int org.apache.commons.lang3.time.DateUtils$ModifyType java.util.Date long int int int int int int[] int int int[][] top int int int[]
      StackMap stack:
        27: aload 18
            iload 16
            iaload
            istore 15 /* element */
        start local 15 // int element
        28: .line 1011
            iload 15 /* element */
            iload 1 /* field */
            if_icmpne 46
        29: .line 1013
            aload 2 /* modType */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.CEILING:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            if_acmpeq 30
            aload 2 /* modType */
            getstatic org.apache.commons.lang3.time.DateUtils$ModifyType.ROUND:Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            if_acmpne 45
            iload 10 /* roundUp */
            ifeq 45
        30: .line 1014
      StackMap locals: java.util.Calendar int org.apache.commons.lang3.time.DateUtils$ModifyType java.util.Date long int int int int int int[] int int int[][] int int int int[]
      StackMap stack:
            iload 1 /* field */
            sipush 1001
            if_icmpne 37
        31: .line 1018
            aload 0 /* val */
            iconst_5
            invokevirtual java.util.Calendar.get:(I)I
            iconst_1
            if_icmpne 34
        32: .line 1019
            aload 0 /* val */
            iconst_5
            bipush 15
            invokevirtual java.util.Calendar.add:(II)V
        33: .line 1020
            goto 45
        34: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            iconst_5
            bipush -15
            invokevirtual java.util.Calendar.add:(II)V
        35: .line 1022
            aload 0 /* val */
            iconst_2
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        36: .line 1025
            goto 45
      StackMap locals:
      StackMap stack:
        37: iload 1 /* field */
            bipush 9
            if_icmpne 44
        38: .line 1029
            aload 0 /* val */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            ifne 41
        39: .line 1030
            aload 0 /* val */
            bipush 11
            bipush 12
            invokevirtual java.util.Calendar.add:(II)V
        40: .line 1031
            goto 45
        41: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            bipush 11
            bipush -12
            invokevirtual java.util.Calendar.add:(II)V
        42: .line 1033
            aload 0 /* val */
            iconst_5
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        43: .line 1036
            goto 45
        44: .line 1039
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            aload 11 /* aField */
            iconst_0
            iaload
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        45: .line 1042
      StackMap locals:
      StackMap stack:
            return
        end local 15 // int element
        46: .line 1010
      StackMap locals: java.util.Calendar int org.apache.commons.lang3.time.DateUtils$ModifyType java.util.Date long int int int int int int[] int int int[][] top int int int[]
      StackMap stack:
            iinc 16 1
      StackMap locals:
      StackMap stack:
        47: iload 16
            iload 17
            if_icmplt 27
        48: .line 1046
            iconst_0
            istore 15 /* offset */
        start local 15 // int offset
        49: .line 1047
            iconst_0
            istore 16 /* offsetSet */
        start local 16 // boolean offsetSet
        50: .line 1049
            iload 1 /* field */
            lookupswitch { // 2
                    9: 60
                 1001: 51
              default: 69
          }
        51: .line 1051
      StackMap locals: java.util.Calendar int org.apache.commons.lang3.time.DateUtils$ModifyType java.util.Date long int int int int int int[] int int int[][] int int
      StackMap stack:
            aload 11 /* aField */
            iconst_0
            iaload
            iconst_5
            if_icmpne 69
        52: .line 1055
            aload 0 /* val */
            iconst_5
            invokevirtual java.util.Calendar.get:(I)I
            iconst_1
            isub
            istore 15 /* offset */
        53: .line 1058
            iload 15 /* offset */
            bipush 15
            if_icmplt 55
        54: .line 1059
            iinc 15 /* offset */ -15
        55: .line 1062
      StackMap locals:
      StackMap stack:
            iload 15 /* offset */
            bipush 7
            if_icmple 56
            iconst_1
            goto 57
      StackMap locals:
      StackMap stack:
        56: iconst_0
      StackMap locals:
      StackMap stack: int
        57: istore 10 /* roundUp */
        58: .line 1063
            iconst_1
            istore 16 /* offsetSet */
        59: .line 1065
            goto 69
        60: .line 1067
      StackMap locals:
      StackMap stack:
            aload 11 /* aField */
            iconst_0
            iaload
            bipush 11
            if_icmpne 69
        61: .line 1070
            aload 0 /* val */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            istore 15 /* offset */
        62: .line 1071
            iload 15 /* offset */
            bipush 12
            if_icmplt 64
        63: .line 1072
            iinc 15 /* offset */ -12
        64: .line 1074
      StackMap locals:
      StackMap stack:
            iload 15 /* offset */
            bipush 6
            if_icmplt 65
            iconst_1
            goto 66
      StackMap locals:
      StackMap stack:
        65: iconst_0
      StackMap locals:
      StackMap stack: int
        66: istore 10 /* roundUp */
        67: .line 1075
            iconst_1
            istore 16 /* offsetSet */
        68: .line 1077
            goto 69
        69: .line 1081
      StackMap locals:
      StackMap stack:
            iload 16 /* offsetSet */
            ifne 76
        70: .line 1082
            aload 0 /* val */
            aload 11 /* aField */
            iconst_0
            iaload
            invokevirtual java.util.Calendar.getActualMinimum:(I)I
            istore 17 /* min */
        start local 17 // int min
        71: .line 1083
            aload 0 /* val */
            aload 11 /* aField */
            iconst_0
            iaload
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            istore 18 /* max */
        start local 18 // int max
        72: .line 1085
            aload 0 /* val */
            aload 11 /* aField */
            iconst_0
            iaload
            invokevirtual java.util.Calendar.get:(I)I
            iload 17 /* min */
            isub
            istore 15 /* offset */
        73: .line 1087
            iload 15 /* offset */
            iload 18 /* max */
            iload 17 /* min */
            isub
            iconst_2
            idiv
            if_icmple 74
            iconst_1
            goto 75
      StackMap locals: int int
      StackMap stack:
        74: iconst_0
      StackMap locals:
      StackMap stack: int
        75: istore 10 /* roundUp */
        end local 18 // int max
        end local 17 // int min
        76: .line 1090
      StackMap locals:
      StackMap stack:
            iload 15 /* offset */
            ifeq 78
        77: .line 1091
            aload 0 /* val */
            aload 11 /* aField */
            iconst_0
            iaload
            aload 0 /* val */
            aload 11 /* aField */
            iconst_0
            iaload
            invokevirtual java.util.Calendar.get:(I)I
            iload 15 /* offset */
            isub
            invokevirtual java.util.Calendar.set:(II)V
        end local 16 // boolean offsetSet
        end local 15 // int offset
        end local 11 // int[] aField
        78: .line 1009
      StackMap locals: java.util.Calendar int org.apache.commons.lang3.time.DateUtils$ModifyType java.util.Date long int int int int int top int int int[][]
      StackMap stack:
            iinc 12 1
      StackMap locals:
      StackMap stack:
        79: iload 12
            iload 13
            if_icmplt 25
        80: .line 1094
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* field */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is not supported"
            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
        end local 10 // boolean roundUp
        end local 9 // int minutes
        end local 8 // int seconds
        end local 7 // int millisecs
        end local 6 // boolean done
        end local 4 // long time
        end local 3 // java.util.Date date
        end local 2 // org.apache.commons.lang3.time.DateUtils$ModifyType modType
        end local 1 // int field
        end local 0 // java.util.Calendar val
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   81     0        val  Ljava/util/Calendar;
            0   81     1      field  I
            0   81     2    modType  Lorg/apache/commons/lang3/time/DateUtils$ModifyType;
            5   81     3       date  Ljava/util/Date;
            6   81     4       time  J
            7   81     6       done  Z
            8   81     7  millisecs  I
           13   81     8    seconds  I
           18   81     9    minutes  I
           24   81    10    roundUp  Z
           26   78    11     aField  [I
           28   46    15    element  I
           49   78    15     offset  I
           50   78    16  offsetSet  Z
           71   76    17        min  I
           72   76    18        max  I
    MethodParameters:
         Name  Flags
      val      final
      field    final
      modType  final

  public static java.util.Iterator<java.util.Calendar> iterator(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.Date focus
        start local 1 // int rangeStyle
         0: .line 1124
            aload 0 /* focus */
            invokestatic org.apache.commons.lang3.time.DateUtils.validateDateNotNull:(Ljava/util/Date;)V
         1: .line 1125
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 2 /* gval */
        start local 2 // java.util.Calendar gval
         2: .line 1126
            aload 2 /* gval */
            aload 0 /* focus */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         3: .line 1127
            aload 2 /* gval */
            iload 1 /* rangeStyle */
            invokestatic org.apache.commons.lang3.time.DateUtils.iterator:(Ljava/util/Calendar;I)Ljava/util/Iterator;
            areturn
        end local 2 // java.util.Calendar gval
        end local 1 // int rangeStyle
        end local 0 // java.util.Date focus
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0       focus  Ljava/util/Date;
            0    4     1  rangeStyle  I
            2    4     2        gval  Ljava/util/Calendar;
    Signature: (Ljava/util/Date;I)Ljava/util/Iterator<Ljava/util/Calendar;>;
    MethodParameters:
            Name  Flags
      focus       final
      rangeStyle  final

  public static java.util.Iterator<java.util.Calendar> iterator(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.util.Calendar focus
        start local 1 // int rangeStyle
         0: .line 1155
            aload 0 /* focus */
            ifnonnull 2
         1: .line 1156
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1158
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* start */
        start local 2 // java.util.Calendar start
         3: .line 1159
            aconst_null
            astore 3 /* end */
        start local 3 // java.util.Calendar end
         4: .line 1160
            iconst_1
            istore 4 /* startCutoff */
        start local 4 // int startCutoff
         5: .line 1161
            bipush 7
            istore 5 /* endCutoff */
        start local 5 // int endCutoff
         6: .line 1162
            iload 1 /* rangeStyle */
            tableswitch { // 1 - 6
                    1: 15
                    2: 15
                    3: 15
                    4: 15
                    5: 7
                    6: 7
              default: 29
          }
         7: .line 1166
      StackMap locals: java.util.Calendar int java.util.Calendar java.util.Calendar int int
      StackMap stack:
            aload 0 /* focus */
            iconst_2
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            astore 2 /* start */
         8: .line 1168
            aload 2 /* start */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            astore 3 /* end */
         9: .line 1169
            aload 3 /* end */
            iconst_2
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        10: .line 1170
            aload 3 /* end */
            iconst_5
            iconst_m1
            invokevirtual java.util.Calendar.add:(II)V
        11: .line 1172
            iload 1 /* rangeStyle */
            bipush 6
            if_icmpne 30
        12: .line 1173
            iconst_2
            istore 4 /* startCutoff */
        13: .line 1174
            iconst_1
            istore 5 /* endCutoff */
        14: .line 1176
            goto 30
        15: .line 1182
      StackMap locals:
      StackMap stack:
            aload 0 /* focus */
            iconst_5
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            astore 2 /* start */
        16: .line 1183
            aload 0 /* focus */
            iconst_5
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            astore 3 /* end */
        17: .line 1184
            iload 1 /* rangeStyle */
            tableswitch { // 1 - 4
                    1: 18
                    2: 19
                    3: 22
                    4: 25
              default: 28
          }
        18: .line 1187
      StackMap locals:
      StackMap stack:
            goto 30
        19: .line 1189
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* startCutoff */
        20: .line 1190
            iconst_1
            istore 5 /* endCutoff */
        21: .line 1191
            goto 30
        22: .line 1193
      StackMap locals:
      StackMap stack:
            aload 0 /* focus */
            bipush 7
            invokevirtual java.util.Calendar.get:(I)I
            istore 4 /* startCutoff */
        23: .line 1194
            iload 4 /* startCutoff */
            iconst_1
            isub
            istore 5 /* endCutoff */
        24: .line 1195
            goto 30
        25: .line 1197
      StackMap locals:
      StackMap stack:
            aload 0 /* focus */
            bipush 7
            invokevirtual java.util.Calendar.get:(I)I
            iconst_3
            isub
            istore 4 /* startCutoff */
        26: .line 1198
            aload 0 /* focus */
            bipush 7
            invokevirtual java.util.Calendar.get:(I)I
            iconst_3
            iadd
            istore 5 /* endCutoff */
        27: .line 1199
            goto 30
        28: .line 1203
      StackMap locals:
      StackMap stack:
            goto 30
        29: .line 1205
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The range style "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* rangeStyle */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is not valid."
            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
        30: .line 1207
      StackMap locals:
      StackMap stack:
            iload 4 /* startCutoff */
            iconst_1
            if_icmpge 32
        31: .line 1208
            iinc 4 /* startCutoff */ 7
        32: .line 1210
      StackMap locals:
      StackMap stack:
            iload 4 /* startCutoff */
            bipush 7
            if_icmple 34
        33: .line 1211
            iinc 4 /* startCutoff */ -7
        34: .line 1213
      StackMap locals:
      StackMap stack:
            iload 5 /* endCutoff */
            iconst_1
            if_icmpge 36
        35: .line 1214
            iinc 5 /* endCutoff */ 7
        36: .line 1216
      StackMap locals:
      StackMap stack:
            iload 5 /* endCutoff */
            bipush 7
            if_icmple 40
        37: .line 1217
            iinc 5 /* endCutoff */ -7
        38: .line 1219
            goto 40
        39: .line 1220
      StackMap locals:
      StackMap stack:
            aload 2 /* start */
            iconst_5
            iconst_m1
            invokevirtual java.util.Calendar.add:(II)V
        40: .line 1219
      StackMap locals:
      StackMap stack:
            aload 2 /* start */
            bipush 7
            invokevirtual java.util.Calendar.get:(I)I
            iload 4 /* startCutoff */
            if_icmpne 39
        41: .line 1222
            goto 43
        42: .line 1223
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
            iconst_5
            iconst_1
            invokevirtual java.util.Calendar.add:(II)V
        43: .line 1222
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
            bipush 7
            invokevirtual java.util.Calendar.get:(I)I
            iload 5 /* endCutoff */
            if_icmpne 42
        44: .line 1225
            new org.apache.commons.lang3.time.DateUtils$DateIterator
            dup
            aload 2 /* start */
            aload 3 /* end */
            invokespecial org.apache.commons.lang3.time.DateUtils$DateIterator.<init>:(Ljava/util/Calendar;Ljava/util/Calendar;)V
            areturn
        end local 5 // int endCutoff
        end local 4 // int startCutoff
        end local 3 // java.util.Calendar end
        end local 2 // java.util.Calendar start
        end local 1 // int rangeStyle
        end local 0 // java.util.Calendar focus
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   45     0        focus  Ljava/util/Calendar;
            0   45     1   rangeStyle  I
            3   45     2        start  Ljava/util/Calendar;
            4   45     3          end  Ljava/util/Calendar;
            5   45     4  startCutoff  I
            6   45     5    endCutoff  I
    Signature: (Ljava/util/Calendar;I)Ljava/util/Iterator<Ljava/util/Calendar;>;
    MethodParameters:
            Name  Flags
      focus       final
      rangeStyle  final

  public static java.util.Iterator<?> iterator(, int);
    descriptor: (Ljava/lang/Object;I)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Object focus
        start local 1 // int rangeStyle
         0: .line 1245
            aload 0 /* focus */
            ifnonnull 2
         1: .line 1246
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1248
      StackMap locals:
      StackMap stack:
            aload 0 /* focus */
            instanceof java.util.Date
            ifeq 4
         3: .line 1249
            aload 0 /* focus */
            checkcast java.util.Date
            iload 1 /* rangeStyle */
            invokestatic org.apache.commons.lang3.time.DateUtils.iterator:(Ljava/util/Date;I)Ljava/util/Iterator;
            areturn
         4: .line 1250
      StackMap locals:
      StackMap stack:
            aload 0 /* focus */
            instanceof java.util.Calendar
            ifeq 6
         5: .line 1251
            aload 0 /* focus */
            checkcast java.util.Calendar
            iload 1 /* rangeStyle */
            invokestatic org.apache.commons.lang3.time.DateUtils.iterator:(Ljava/util/Calendar;I)Ljava/util/Iterator;
            areturn
         6: .line 1253
      StackMap locals:
      StackMap stack:
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not iterate based on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* focus */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int rangeStyle
        end local 0 // java.lang.Object focus
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0       focus  Ljava/lang/Object;
            0    7     1  rangeStyle  I
    Signature: (Ljava/lang/Object;I)Ljava/util/Iterator<*>;
    MethodParameters:
            Name  Flags
      focus       final
      rangeStyle  final

  public static long getFragmentInMilliseconds(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int fragment
         0: .line 1289
            aload 0 /* date */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Date;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      date  Ljava/util/Date;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      date      final
      fragment  final

  public static long getFragmentInSeconds(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int fragment
         0: .line 1327
            aload 0 /* date */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Date;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      date  Ljava/util/Date;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      date      final
      fragment  final

  public static long getFragmentInMinutes(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int fragment
         0: .line 1365
            aload 0 /* date */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Date;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      date  Ljava/util/Date;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      date      final
      fragment  final

  public static long getFragmentInHours(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int fragment
         0: .line 1403
            aload 0 /* date */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Date;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      date  Ljava/util/Date;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      date      final
      fragment  final

  public static long getFragmentInDays(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Date date
        start local 1 // int fragment
         0: .line 1441
            aload 0 /* date */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Date;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      date  Ljava/util/Date;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      date      final
      fragment  final

  public static long getFragmentInMilliseconds(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar calendar
        start local 1 // int fragment
         0: .line 1479
            aload 0 /* calendar */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Calendar;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Calendar calendar
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  calendar  Ljava/util/Calendar;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      calendar  final
      fragment  final

  public static long getFragmentInSeconds(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar calendar
        start local 1 // int fragment
         0: .line 1516
            aload 0 /* calendar */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Calendar;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Calendar calendar
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  calendar  Ljava/util/Calendar;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      calendar  final
      fragment  final

  public static long getFragmentInMinutes(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar calendar
        start local 1 // int fragment
         0: .line 1554
            aload 0 /* calendar */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Calendar;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Calendar calendar
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  calendar  Ljava/util/Calendar;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      calendar  final
      fragment  final

  public static long getFragmentInHours(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar calendar
        start local 1 // int fragment
         0: .line 1592
            aload 0 /* calendar */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Calendar;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Calendar calendar
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  calendar  Ljava/util/Calendar;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      calendar  final
      fragment  final

  public static long getFragmentInDays(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar calendar
        start local 1 // int fragment
         0: .line 1632
            aload 0 /* calendar */
            iload 1 /* fragment */
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Calendar;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // int fragment
        end local 0 // java.util.Calendar calendar
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  calendar  Ljava/util/Calendar;
            0    1     1  fragment  I
    MethodParameters:
          Name  Flags
      calendar  final
      fragment  final

  private static long getFragment(java.util.Date, int, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/Date;ILjava/util/concurrent/TimeUnit;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.Date date
        start local 1 // int fragment
        start local 2 // java.util.concurrent.TimeUnit unit
         0: .line 1647
            aload 0 /* date */
            invokestatic org.apache.commons.lang3.time.DateUtils.validateDateNotNull:(Ljava/util/Date;)V
         1: .line 1648
            invokestatic java.util.Calendar.getInstance:()Ljava/util/Calendar;
            astore 3 /* calendar */
        start local 3 // java.util.Calendar calendar
         2: .line 1649
            aload 3 /* calendar */
            aload 0 /* date */
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         3: .line 1650
            aload 3 /* calendar */
            iload 1 /* fragment */
            aload 2 /* unit */
            invokestatic org.apache.commons.lang3.time.DateUtils.getFragment:(Ljava/util/Calendar;ILjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 3 // java.util.Calendar calendar
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 1 // int fragment
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      date  Ljava/util/Date;
            0    4     1  fragment  I
            0    4     2      unit  Ljava/util/concurrent/TimeUnit;
            2    4     3  calendar  Ljava/util/Calendar;
    MethodParameters:
          Name  Flags
      date      final
      fragment  final
      unit      final

  private static long getFragment(java.util.Calendar, int, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/Calendar;ILjava/util/concurrent/TimeUnit;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // java.util.Calendar calendar
        start local 1 // int fragment
        start local 2 // java.util.concurrent.TimeUnit unit
         0: .line 1665
            aload 0 /* calendar */
            ifnonnull 2
         1: .line 1666
            new java.lang.IllegalArgumentException
            dup
            ldc "The date must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1669
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 3 /* result */
        start local 3 // long result
         3: .line 1671
            aload 2 /* unit */
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            if_acmpne 4
            iconst_0
            goto 5
      StackMap locals: long
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* offset */
        start local 5 // int offset
         6: .line 1674
            iload 1 /* fragment */
            tableswitch { // 1 - 2
                    1: 7
                    2: 9
              default: 11
          }
         7: .line 1676
      StackMap locals: int
      StackMap stack:
            lload 3 /* result */
            aload 2 /* unit */
            aload 0 /* calendar */
            bipush 6
            invokevirtual java.util.Calendar.get:(I)I
            iload 5 /* offset */
            isub
            i2l
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            ladd
            lstore 3 /* result */
         8: .line 1677
            goto 11
         9: .line 1679
      StackMap locals:
      StackMap stack:
            lload 3 /* result */
            aload 2 /* unit */
            aload 0 /* calendar */
            iconst_5
            invokevirtual java.util.Calendar.get:(I)I
            iload 5 /* offset */
            isub
            i2l
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            ladd
            lstore 3 /* result */
        10: .line 1680
            goto 11
        11: .line 1685
      StackMap locals:
      StackMap stack:
            iload 1 /* fragment */
            tableswitch { // 1 - 14
                    1: 12
                    2: 12
                    3: 18
                    4: 18
                    5: 12
                    6: 12
                    7: 18
                    8: 18
                    9: 18
                   10: 18
                   11: 13
                   12: 14
                   13: 15
                   14: 17
              default: 18
          }
        12: .line 1693
      StackMap locals:
      StackMap stack:
            lload 3 /* result */
            aload 2 /* unit */
            aload 0 /* calendar */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            i2l
            getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            ladd
            lstore 3 /* result */
        13: .line 1696
      StackMap locals:
      StackMap stack:
            lload 3 /* result */
            aload 2 /* unit */
            aload 0 /* calendar */
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            i2l
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            ladd
            lstore 3 /* result */
        14: .line 1699
      StackMap locals:
      StackMap stack:
            lload 3 /* result */
            aload 2 /* unit */
            aload 0 /* calendar */
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            i2l
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            ladd
            lstore 3 /* result */
        15: .line 1702
      StackMap locals:
      StackMap stack:
            lload 3 /* result */
            aload 2 /* unit */
            aload 0 /* calendar */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            ladd
            lstore 3 /* result */
        16: .line 1703
            goto 19
        17: .line 1704
      StackMap locals:
      StackMap stack:
            goto 19
        18: .line 1705
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The fragment "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* fragment */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is not supported"
            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
        19: .line 1707
      StackMap locals:
      StackMap stack:
            lload 3 /* result */
            lreturn
        end local 5 // int offset
        end local 3 // long result
        end local 2 // java.util.concurrent.TimeUnit unit
        end local 1 // int fragment
        end local 0 // java.util.Calendar calendar
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0  calendar  Ljava/util/Calendar;
            0   20     1  fragment  I
            0   20     2      unit  Ljava/util/concurrent/TimeUnit;
            3   20     3    result  J
            6   20     5    offset  I
    MethodParameters:
          Name  Flags
      calendar  final
      fragment  final
      unit      final

  public static boolean truncatedEquals(java.util.Calendar, java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;Ljava/util/Calendar;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Calendar cal1
        start local 1 // java.util.Calendar cal2
        start local 2 // int field
         0: .line 1724
            aload 0 /* cal1 */
            aload 1 /* cal2 */
            iload 2 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncatedCompareTo:(Ljava/util/Calendar;Ljava/util/Calendar;I)I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int field
        end local 1 // java.util.Calendar cal2
        end local 0 // java.util.Calendar cal1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   cal1  Ljava/util/Calendar;
            0    2     1   cal2  Ljava/util/Calendar;
            0    2     2  field  I
    MethodParameters:
       Name  Flags
      cal1   final
      cal2   final
      field  final

  public static boolean truncatedEquals(java.util.Date, java.util.Date, int);
    descriptor: (Ljava/util/Date;Ljava/util/Date;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Date date1
        start local 1 // java.util.Date date2
        start local 2 // int field
         0: .line 1741
            aload 0 /* date1 */
            aload 1 /* date2 */
            iload 2 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncatedCompareTo:(Ljava/util/Date;Ljava/util/Date;I)I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int field
        end local 1 // java.util.Date date2
        end local 0 // java.util.Date date1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  date1  Ljava/util/Date;
            0    2     1  date2  Ljava/util/Date;
            0    2     2  field  I
    MethodParameters:
       Name  Flags
      date1  final
      date2  final
      field  final

  public static int truncatedCompareTo(java.util.Calendar, java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;Ljava/util/Calendar;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.util.Calendar cal1
        start local 1 // java.util.Calendar cal2
        start local 2 // int field
         0: .line 1759
            aload 0 /* cal1 */
            iload 2 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            astore 3 /* truncatedCal1 */
        start local 3 // java.util.Calendar truncatedCal1
         1: .line 1760
            aload 1 /* cal2 */
            iload 2 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Calendar;I)Ljava/util/Calendar;
            astore 4 /* truncatedCal2 */
        start local 4 // java.util.Calendar truncatedCal2
         2: .line 1761
            aload 3 /* truncatedCal1 */
            aload 4 /* truncatedCal2 */
            invokevirtual java.util.Calendar.compareTo:(Ljava/util/Calendar;)I
            ireturn
        end local 4 // java.util.Calendar truncatedCal2
        end local 3 // java.util.Calendar truncatedCal1
        end local 2 // int field
        end local 1 // java.util.Calendar cal2
        end local 0 // java.util.Calendar cal1
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           cal1  Ljava/util/Calendar;
            0    3     1           cal2  Ljava/util/Calendar;
            0    3     2          field  I
            1    3     3  truncatedCal1  Ljava/util/Calendar;
            2    3     4  truncatedCal2  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      cal1   final
      cal2   final
      field  final

  public static int truncatedCompareTo(java.util.Date, java.util.Date, int);
    descriptor: (Ljava/util/Date;Ljava/util/Date;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.util.Date date1
        start local 1 // java.util.Date date2
        start local 2 // int field
         0: .line 1779
            aload 0 /* date1 */
            iload 2 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Date;I)Ljava/util/Date;
            astore 3 /* truncatedDate1 */
        start local 3 // java.util.Date truncatedDate1
         1: .line 1780
            aload 1 /* date2 */
            iload 2 /* field */
            invokestatic org.apache.commons.lang3.time.DateUtils.truncate:(Ljava/util/Date;I)Ljava/util/Date;
            astore 4 /* truncatedDate2 */
        start local 4 // java.util.Date truncatedDate2
         2: .line 1781
            aload 3 /* truncatedDate1 */
            aload 4 /* truncatedDate2 */
            invokevirtual java.util.Date.compareTo:(Ljava/util/Date;)I
            ireturn
        end local 4 // java.util.Date truncatedDate2
        end local 3 // java.util.Date truncatedDate1
        end local 2 // int field
        end local 1 // java.util.Date date2
        end local 0 // java.util.Date date1
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0           date1  Ljava/util/Date;
            0    3     1           date2  Ljava/util/Date;
            0    3     2           field  I
            1    3     3  truncatedDate1  Ljava/util/Date;
            2    3     4  truncatedDate2  Ljava/util/Date;
    MethodParameters:
       Name  Flags
      date1  final
      date2  final
      field  final

  private static void validateDateNotNull(java.util.Date);
    descriptor: (Ljava/util/Date;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Date date
         0: .line 1785
            aload 0 /* date */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "The date must not be null"
            iconst_0
            anewarray java.lang.Object
            invokestatic org.apache.commons.lang3.Validate.isTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
         3: .line 1786
            return
        end local 0 // java.util.Date date
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  date  Ljava/util/Date;
    MethodParameters:
      Name  Flags
      date  final
}
SourceFile: "DateUtils.java"
NestMembers:
  org.apache.commons.lang3.time.DateUtils$DateIterator  org.apache.commons.lang3.time.DateUtils$ModifyType
InnerClasses:
  DateIterator = org.apache.commons.lang3.time.DateUtils$DateIterator of org.apache.commons.lang3.time.DateUtils
  private final ModifyType = org.apache.commons.lang3.time.DateUtils$ModifyType of org.apache.commons.lang3.time.DateUtils