public class org.joda.time.field.FieldUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.joda.time.field.FieldUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.field.FieldUtils this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            return
        end local 0 // org.joda.time.field.FieldUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/joda/time/field/FieldUtils;

  public static int safeNegate(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int value
         0: .line 52
            iload 0 /* value */
            ldc -2147483648
            if_icmpne 2
         1: .line 53
            new java.lang.ArithmeticException
            dup
            ldc "Integer.MIN_VALUE cannot be negated"
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 55
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ineg
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static int safeAdd(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // int val1
        start local 1 // int val2
         0: .line 67
            iload 0 /* val1 */
            iload 1 /* val2 */
            iadd
            istore 2 /* sum */
        start local 2 // int sum
         1: .line 69
            iload 0 /* val1 */
            iload 2 /* sum */
            ixor
            ifge 5
            iload 0 /* val1 */
            iload 1 /* val2 */
            ixor
            iflt 5
         2: .line 70
            new java.lang.ArithmeticException
            dup
         3: .line 71
            new java.lang.StringBuilder
            dup
            ldc "The calculation caused an overflow: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* val1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " + "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 70
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 73
      StackMap locals: int
      StackMap stack:
            iload 2 /* sum */
            ireturn
        end local 2 // int sum
        end local 1 // int val2
        end local 0 // int val1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  val1  I
            0    6     1  val2  I
            1    6     2   sum  I
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public static long safeAdd(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // long val1
        start local 2 // long val2
         0: .line 85
            lload 0 /* val1 */
            lload 2 /* val2 */
            ladd
            lstore 4 /* sum */
        start local 4 // long sum
         1: .line 87
            lload 0 /* val1 */
            lload 4 /* sum */
            lxor
            lconst_0
            lcmp
            ifge 5
            lload 0 /* val1 */
            lload 2 /* val2 */
            lxor
            lconst_0
            lcmp
            iflt 5
         2: .line 88
            new java.lang.ArithmeticException
            dup
         3: .line 89
            new java.lang.StringBuilder
            dup
            ldc "The calculation caused an overflow: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* val1 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " + "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 88
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 91
      StackMap locals: long
      StackMap stack:
            lload 4 /* sum */
            lreturn
        end local 4 // long sum
        end local 2 // long val2
        end local 0 // long val1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  val1  J
            0    6     2  val2  J
            1    6     4   sum  J
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public static long safeSubtract(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // long val1
        start local 2 // long val2
         0: .line 103
            lload 0 /* val1 */
            lload 2 /* val2 */
            lsub
            lstore 4 /* diff */
        start local 4 // long diff
         1: .line 105
            lload 0 /* val1 */
            lload 4 /* diff */
            lxor
            lconst_0
            lcmp
            ifge 5
            lload 0 /* val1 */
            lload 2 /* val2 */
            lxor
            lconst_0
            lcmp
            ifge 5
         2: .line 106
            new java.lang.ArithmeticException
            dup
         3: .line 107
            new java.lang.StringBuilder
            dup
            ldc "The calculation caused an overflow: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* val1 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " - "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 106
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 109
      StackMap locals: long
      StackMap stack:
            lload 4 /* diff */
            lreturn
        end local 4 // long diff
        end local 2 // long val2
        end local 0 // long val1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  val1  J
            0    6     2  val2  J
            1    6     4  diff  J
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public static int safeMultiply(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // int val1
        start local 1 // int val2
         0: .line 122
            iload 0 /* val1 */
            i2l
            iload 1 /* val2 */
            i2l
            lmul
            lstore 2 /* total */
        start local 2 // long total
         1: .line 123
            lload 2 /* total */
            ldc -2147483648
            lcmp
            iflt 2
            lload 2 /* total */
            ldc 2147483647
            lcmp
            ifle 3
         2: .line 124
      StackMap locals: long
      StackMap stack:
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Multiplication overflows an int: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* val1 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " * "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 126
      StackMap locals:
      StackMap stack:
            lload 2 /* total */
            l2i
            ireturn
        end local 2 // long total
        end local 1 // int val2
        end local 0 // int val1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   val1  I
            0    4     1   val2  I
            1    4     2  total  J
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public static long safeMultiply(long, int);
    descriptor: (JI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // long val1
        start local 2 // int val2
         0: .line 139
            iload 2 /* val2 */
            tableswitch { // -1 - 1
                   -1: 1
                    0: 4
                    1: 5
              default: 6
          }
         1: .line 141
      StackMap locals:
      StackMap stack:
            lload 0 /* val1 */
            ldc -9223372036854775808
            lcmp
            ifne 3
         2: .line 142
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Multiplication overflows a long: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* val1 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " * "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 144
      StackMap locals:
      StackMap stack:
            lload 0 /* val1 */
            lneg
            lreturn
         4: .line 146
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         5: .line 148
      StackMap locals:
      StackMap stack:
            lload 0 /* val1 */
            lreturn
         6: .line 150
      StackMap locals:
      StackMap stack:
            lload 0 /* val1 */
            iload 2 /* val2 */
            i2l
            lmul
            lstore 3 /* total */
        start local 3 // long total
         7: .line 151
            lload 3 /* total */
            iload 2 /* val2 */
            i2l
            ldiv
            lload 0 /* val1 */
            lcmp
            ifeq 9
         8: .line 152
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Multiplication overflows a long: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* val1 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " * "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 154
      StackMap locals: long
      StackMap stack:
            lload 3 /* total */
            lreturn
        end local 3 // long total
        end local 2 // int val2
        end local 0 // long val1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   val1  J
            0   10     2   val2  I
            7   10     3  total  J
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public static long safeMultiply(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // long val1
        start local 2 // long val2
         0: .line 166
            lload 2 /* val2 */
            lconst_1
            lcmp
            ifne 2
         1: .line 167
            lload 0 /* val1 */
            lreturn
         2: .line 169
      StackMap locals:
      StackMap stack:
            lload 0 /* val1 */
            lconst_1
            lcmp
            ifne 4
         3: .line 170
            lload 2 /* val2 */
            lreturn
         4: .line 172
      StackMap locals:
      StackMap stack:
            lload 0 /* val1 */
            lconst_0
            lcmp
            ifeq 5
            lload 2 /* val2 */
            lconst_0
            lcmp
            ifne 6
         5: .line 173
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         6: .line 175
      StackMap locals:
      StackMap stack:
            lload 0 /* val1 */
            lload 2 /* val2 */
            lmul
            lstore 4 /* total */
        start local 4 // long total
         7: .line 176
            lload 4 /* total */
            lload 2 /* val2 */
            ldiv
            lload 0 /* val1 */
            lcmp
            ifne 9
            lload 0 /* val1 */
            ldc -9223372036854775808
            lcmp
            ifne 8
            lload 2 /* val2 */
            ldc -1
            lcmp
            ifeq 9
      StackMap locals: long
      StackMap stack:
         8: lload 2 /* val2 */
            ldc -9223372036854775808
            lcmp
            ifne 10
            lload 0 /* val1 */
            ldc -1
            lcmp
            ifne 10
         9: .line 177
      StackMap locals:
      StackMap stack:
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Multiplication overflows a long: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* val1 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " * "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* val2 */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 179
      StackMap locals:
      StackMap stack:
            lload 4 /* total */
            lreturn
        end local 4 // long total
        end local 2 // long val2
        end local 0 // long val1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   val1  J
            0   11     2   val2  J
            7   11     4  total  J
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public static long safeDivide(long, long);
    descriptor: (JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // long dividend
        start local 2 // long divisor
         0: .line 192
            lload 0 /* dividend */
            ldc -9223372036854775808
            lcmp
            ifne 2
            lload 2 /* divisor */
            ldc -1
            lcmp
            ifne 2
         1: .line 193
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Multiplication overflows a long: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* dividend */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " / "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* divisor */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 195
      StackMap locals:
      StackMap stack:
            lload 0 /* dividend */
            lload 2 /* divisor */
            ldiv
            lreturn
        end local 2 // long divisor
        end local 0 // long dividend
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  dividend  J
            0    3     2   divisor  J
    MethodParameters:
          Name  Flags
      dividend  
      divisor   

  public static long safeDivide(long, long, java.math.RoundingMode);
    descriptor: (JJLjava/math/RoundingMode;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // long dividend
        start local 2 // long divisor
        start local 4 // java.math.RoundingMode roundingMode
         0: .line 209
            lload 0 /* dividend */
            ldc -9223372036854775808
            lcmp
            ifne 2
            lload 2 /* divisor */
            ldc -1
            lcmp
            ifne 2
         1: .line 210
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Multiplication overflows a long: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* dividend */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " / "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* divisor */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 213
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            lload 0 /* dividend */
            invokespecial java.math.BigDecimal.<init>:(J)V
            astore 5 /* dividendBigDecimal */
        start local 5 // java.math.BigDecimal dividendBigDecimal
         3: .line 214
            new java.math.BigDecimal
            dup
            lload 2 /* divisor */
            invokespecial java.math.BigDecimal.<init>:(J)V
            astore 6 /* divisorBigDecimal */
        start local 6 // java.math.BigDecimal divisorBigDecimal
         4: .line 215
            aload 5 /* dividendBigDecimal */
            aload 6 /* divisorBigDecimal */
            aload 4 /* roundingMode */
            invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.longValue:()J
            lreturn
        end local 6 // java.math.BigDecimal divisorBigDecimal
        end local 5 // java.math.BigDecimal dividendBigDecimal
        end local 4 // java.math.RoundingMode roundingMode
        end local 2 // long divisor
        end local 0 // long dividend
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0            dividend  J
            0    5     2             divisor  J
            0    5     4        roundingMode  Ljava/math/RoundingMode;
            3    5     5  dividendBigDecimal  Ljava/math/BigDecimal;
            4    5     6   divisorBigDecimal  Ljava/math/BigDecimal;
    MethodParameters:
              Name  Flags
      dividend      
      divisor       
      roundingMode  

  public static int safeToInt(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long value
         0: .line 226
            ldc -2147483648
            lload 0 /* value */
            lcmp
            ifgt 2
            lload 0 /* value */
            ldc 2147483647
            lcmp
            ifgt 2
         1: .line 227
            lload 0 /* value */
            l2i
            ireturn
         2: .line 229
      StackMap locals:
      StackMap stack:
            new java.lang.ArithmeticException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Value cannot fit in an int: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 0 /* value */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static int safeMultiplyToInt(long, long);
    descriptor: (JJ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // long val1
        start local 2 // long val2
         0: .line 241
            lload 0 /* val1 */
            lload 2 /* val2 */
            invokestatic org.joda.time.field.FieldUtils.safeMultiply:(JJ)J
            lstore 4 /* val */
        start local 4 // long val
         1: .line 242
            lload 4 /* val */
            invokestatic org.joda.time.field.FieldUtils.safeToInt:(J)I
            ireturn
        end local 4 // long val
        end local 2 // long val2
        end local 0 // long val1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  val1  J
            0    2     2  val2  J
            1    2     4   val  J
    MethodParameters:
      Name  Flags
      val1  
      val2  

  public static void verifyValueBounds(org.joda.time.DateTimeField, int, int, int);
    descriptor: (Lorg/joda/time/DateTimeField;III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.joda.time.DateTimeField field
        start local 1 // int value
        start local 2 // int lowerBound
        start local 3 // int upperBound
         0: .line 256
            iload 1 /* value */
            iload 2 /* lowerBound */
            if_icmplt 1
            iload 1 /* value */
            iload 3 /* upperBound */
            if_icmple 5
         1: .line 257
      StackMap locals:
      StackMap stack:
            new org.joda.time.IllegalFieldValueException
            dup
         2: .line 258
            aload 0 /* field */
            invokevirtual org.joda.time.DateTimeField.getType:()Lorg/joda/time/DateTimeFieldType;
            iload 1 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         3: .line 259
            iload 2 /* lowerBound */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 3 /* upperBound */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         4: .line 257
            invokespecial org.joda.time.IllegalFieldValueException.<init>:(Lorg/joda/time/DateTimeFieldType;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
         5: .line 261
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int upperBound
        end local 2 // int lowerBound
        end local 1 // int value
        end local 0 // org.joda.time.DateTimeField field
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0       field  Lorg/joda/time/DateTimeField;
            0    6     1       value  I
            0    6     2  lowerBound  I
            0    6     3  upperBound  I
    MethodParameters:
            Name  Flags
      field       
      value       
      lowerBound  
      upperBound  

  public static void verifyValueBounds(org.joda.time.DateTimeFieldType, int, int, int);
    descriptor: (Lorg/joda/time/DateTimeFieldType;III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.joda.time.DateTimeFieldType fieldType
        start local 1 // int value
        start local 2 // int lowerBound
        start local 3 // int upperBound
         0: .line 274
            iload 1 /* value */
            iload 2 /* lowerBound */
            if_icmplt 1
            iload 1 /* value */
            iload 3 /* upperBound */
            if_icmple 5
         1: .line 275
      StackMap locals:
      StackMap stack:
            new org.joda.time.IllegalFieldValueException
            dup
         2: .line 276
            aload 0 /* fieldType */
            iload 1 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         3: .line 277
            iload 2 /* lowerBound */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 3 /* upperBound */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         4: .line 275
            invokespecial org.joda.time.IllegalFieldValueException.<init>:(Lorg/joda/time/DateTimeFieldType;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
         5: .line 279
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int upperBound
        end local 2 // int lowerBound
        end local 1 // int value
        end local 0 // org.joda.time.DateTimeFieldType fieldType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0   fieldType  Lorg/joda/time/DateTimeFieldType;
            0    6     1       value  I
            0    6     2  lowerBound  I
            0    6     3  upperBound  I
    MethodParameters:
            Name  Flags
      fieldType   
      value       
      lowerBound  
      upperBound  

  public static void verifyValueBounds(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.String fieldName
        start local 1 // int value
        start local 2 // int lowerBound
        start local 3 // int upperBound
         0: .line 291
            iload 1 /* value */
            iload 2 /* lowerBound */
            if_icmplt 1
            iload 1 /* value */
            iload 3 /* upperBound */
            if_icmple 5
         1: .line 292
      StackMap locals:
      StackMap stack:
            new org.joda.time.IllegalFieldValueException
            dup
         2: .line 293
            aload 0 /* fieldName */
            iload 1 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         3: .line 294
            iload 2 /* lowerBound */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 3 /* upperBound */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         4: .line 292
            invokespecial org.joda.time.IllegalFieldValueException.<init>:(Ljava/lang/String;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
         5: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int upperBound
        end local 2 // int lowerBound
        end local 1 // int value
        end local 0 // java.lang.String fieldName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0   fieldName  Ljava/lang/String;
            0    6     1       value  I
            0    6     2  lowerBound  I
            0    6     3  upperBound  I
    MethodParameters:
            Name  Flags
      fieldName   
      value       
      lowerBound  
      upperBound  

  public static int getWrappedValue(int, int, int, int);
    descriptor: (IIII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // int currentValue
        start local 1 // int wrapValue
        start local 2 // int minValue
        start local 3 // int maxValue
         0: .line 315
            iload 0 /* currentValue */
            iload 1 /* wrapValue */
            iadd
            iload 2 /* minValue */
            iload 3 /* maxValue */
            invokestatic org.joda.time.field.FieldUtils.getWrappedValue:(III)I
            ireturn
        end local 3 // int maxValue
        end local 2 // int minValue
        end local 1 // int wrapValue
        end local 0 // int currentValue
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  currentValue  I
            0    1     1     wrapValue  I
            0    1     2      minValue  I
            0    1     3      maxValue  I
    MethodParameters:
              Name  Flags
      currentValue  
      wrapValue     
      minValue      
      maxValue      

  public static int getWrappedValue(int, int, int);
    descriptor: (III)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // int value
        start local 1 // int minValue
        start local 2 // int maxValue
         0: .line 331
            iload 1 /* minValue */
            iload 2 /* maxValue */
            if_icmplt 2
         1: .line 332
            new java.lang.IllegalArgumentException
            dup
            ldc "MIN > MAX"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 335
      StackMap locals:
      StackMap stack:
            iload 2 /* maxValue */
            iload 1 /* minValue */
            isub
            iconst_1
            iadd
            istore 3 /* wrapRange */
        start local 3 // int wrapRange
         3: .line 336
            iload 0 /* value */
            iload 1 /* minValue */
            isub
            istore 0 /* value */
         4: .line 338
            iload 0 /* value */
            iflt 6
         5: .line 339
            iload 0 /* value */
            iload 3 /* wrapRange */
            irem
            iload 1 /* minValue */
            iadd
            ireturn
         6: .line 342
      StackMap locals: int
      StackMap stack:
            iload 0 /* value */
            ineg
            iload 3 /* wrapRange */
            irem
            istore 4 /* remByRange */
        start local 4 // int remByRange
         7: .line 344
            iload 4 /* remByRange */
            ifne 9
         8: .line 345
            iconst_0
            iload 1 /* minValue */
            iadd
            ireturn
         9: .line 347
      StackMap locals: int
      StackMap stack:
            iload 3 /* wrapRange */
            iload 4 /* remByRange */
            isub
            iload 1 /* minValue */
            iadd
            ireturn
        end local 4 // int remByRange
        end local 3 // int wrapRange
        end local 2 // int maxValue
        end local 1 // int minValue
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0       value  I
            0   10     1    minValue  I
            0   10     2    maxValue  I
            3   10     3   wrapRange  I
            7   10     4  remByRange  I
    MethodParameters:
          Name  Flags
      value     
      minValue  
      maxValue  

  public static boolean equals(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object object1
        start local 1 // java.lang.Object object2
         0: .line 360
            aload 0 /* object1 */
            aload 1 /* object2 */
            if_acmpne 2
         1: .line 361
            iconst_1
            ireturn
         2: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* object1 */
            ifnull 3
            aload 1 /* object2 */
            ifnonnull 4
         3: .line 364
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* object1 */
            aload 1 /* object2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object object2
        end local 0 // java.lang.Object object1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  object1  Ljava/lang/Object;
            0    5     1  object2  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      object1  
      object2  
}
SourceFile: "FieldUtils.java"