public final class org.joda.time.chrono.GJChronology extends org.joda.time.chrono.AssembledChronology
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.joda.time.chrono.GJChronology
  super_class: org.joda.time.chrono.AssembledChronology
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2545574827706931671

  static final org.joda.time.Instant DEFAULT_CUTOVER;
    descriptor: Lorg/joda/time/Instant;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.ConcurrentHashMap<org.joda.time.chrono.GJCacheKey, org.joda.time.chrono.GJChronology> cCache;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Lorg/joda/time/chrono/GJCacheKey;Lorg/joda/time/chrono/GJChronology;>;

  private org.joda.time.chrono.JulianChronology iJulianChronology;
    descriptor: Lorg/joda/time/chrono/JulianChronology;
    flags: (0x0002) ACC_PRIVATE

  private org.joda.time.chrono.GregorianChronology iGregorianChronology;
    descriptor: Lorg/joda/time/chrono/GregorianChronology;
    flags: (0x0002) ACC_PRIVATE

  private org.joda.time.Instant iCutoverInstant;
    descriptor: Lorg/joda/time/Instant;
    flags: (0x0002) ACC_PRIVATE

  private long iCutoverMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long iGapDuration;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 104
            new org.joda.time.Instant
            dup
            ldc -12219292800000
            invokespecial org.joda.time.Instant.<init>:(J)V
            putstatic org.joda.time.chrono.GJChronology.DEFAULT_CUTOVER:Lorg/joda/time/Instant;
         1: .line 107
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic org.joda.time.chrono.GJChronology.cCache:Ljava/util/concurrent/ConcurrentHashMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static long convertByYear(long, org.joda.time.Chronology, org.joda.time.Chronology);
    descriptor: (JLorg/joda/time/Chronology;Lorg/joda/time/Chronology;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // long instant
        start local 2 // org.joda.time.Chronology from
        start local 3 // org.joda.time.Chronology to
         0: .line 82
            aload 3 /* to */
         1: .line 83
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.year:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
         2: .line 84
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.monthOfYear:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
         3: .line 85
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.dayOfMonth:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
         4: .line 86
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.millisOfDay:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
         5: .line 82
            invokevirtual org.joda.time.Chronology.getDateTimeMillis:(IIII)J
            lreturn
        end local 3 // org.joda.time.Chronology to
        end local 2 // org.joda.time.Chronology from
        end local 0 // long instant
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  instant  J
            0    6     2     from  Lorg/joda/time/Chronology;
            0    6     3       to  Lorg/joda/time/Chronology;
    MethodParameters:
         Name  Flags
      instant  
      from     
      to       

  private static long convertByWeekyear(long, org.joda.time.Chronology, org.joda.time.Chronology);
    descriptor: (JLorg/joda/time/Chronology;Lorg/joda/time/Chronology;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // long instant
        start local 2 // org.joda.time.Chronology from
        start local 3 // org.joda.time.Chronology to
         0: .line 94
            aload 3 /* to */
            invokevirtual org.joda.time.Chronology.weekyear:()Lorg/joda/time/DateTimeField;
            lconst_0
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.weekyear:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
            invokevirtual org.joda.time.DateTimeField.set:(JI)J
            lstore 4 /* newInstant */
        start local 4 // long newInstant
         1: .line 95
            aload 3 /* to */
            invokevirtual org.joda.time.Chronology.weekOfWeekyear:()Lorg/joda/time/DateTimeField;
            lload 4 /* newInstant */
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.weekOfWeekyear:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
            invokevirtual org.joda.time.DateTimeField.set:(JI)J
            lstore 4 /* newInstant */
         2: .line 96
            aload 3 /* to */
            invokevirtual org.joda.time.Chronology.dayOfWeek:()Lorg/joda/time/DateTimeField;
            lload 4 /* newInstant */
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.dayOfWeek:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
            invokevirtual org.joda.time.DateTimeField.set:(JI)J
            lstore 4 /* newInstant */
         3: .line 97
            aload 3 /* to */
            invokevirtual org.joda.time.Chronology.millisOfDay:()Lorg/joda/time/DateTimeField;
            lload 4 /* newInstant */
            aload 2 /* from */
            invokevirtual org.joda.time.Chronology.millisOfDay:()Lorg/joda/time/DateTimeField;
            lload 0 /* instant */
            invokevirtual org.joda.time.DateTimeField.get:(J)I
            invokevirtual org.joda.time.DateTimeField.set:(JI)J
            lstore 4 /* newInstant */
         4: .line 98
            lload 4 /* newInstant */
            lreturn
        end local 4 // long newInstant
        end local 3 // org.joda.time.Chronology to
        end local 2 // org.joda.time.Chronology from
        end local 0 // long instant
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0     instant  J
            0    5     2        from  Lorg/joda/time/Chronology;
            0    5     3          to  Lorg/joda/time/Chronology;
            1    5     4  newInstant  J
    MethodParameters:
         Name  Flags
      instant  final
      from     
      to       

  public static org.joda.time.chrono.GJChronology getInstanceUTC();
    descriptor: ()Lorg/joda/time/chrono/GJChronology;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 122
            getstatic org.joda.time.DateTimeZone.UTC:Lorg/joda/time/DateTimeZone;
            getstatic org.joda.time.chrono.GJChronology.DEFAULT_CUTOVER:Lorg/joda/time/Instant;
            iconst_4
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.joda.time.chrono.GJChronology getInstance();
    descriptor: ()Lorg/joda/time/chrono/GJChronology;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 138
            invokestatic org.joda.time.DateTimeZone.getDefault:()Lorg/joda/time/DateTimeZone;
            getstatic org.joda.time.chrono.GJChronology.DEFAULT_CUTOVER:Lorg/joda/time/Instant;
            iconst_4
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.joda.time.chrono.GJChronology getInstance(org.joda.time.DateTimeZone);
    descriptor: (Lorg/joda/time/DateTimeZone;)Lorg/joda/time/chrono/GJChronology;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joda.time.DateTimeZone zone
         0: .line 154
            aload 0 /* zone */
            getstatic org.joda.time.chrono.GJChronology.DEFAULT_CUTOVER:Lorg/joda/time/Instant;
            iconst_4
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            areturn
        end local 0 // org.joda.time.DateTimeZone zone
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  zone  Lorg/joda/time/DateTimeZone;
    MethodParameters:
      Name  Flags
      zone  

  public static org.joda.time.chrono.GJChronology getInstance(org.joda.time.DateTimeZone, org.joda.time.ReadableInstant);
    descriptor: (Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;)Lorg/joda/time/chrono/GJChronology;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.joda.time.DateTimeZone zone
        start local 1 // org.joda.time.ReadableInstant gregorianCutover
         0: .line 172
            aload 0 /* zone */
            aload 1 /* gregorianCutover */
            iconst_4
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            areturn
        end local 1 // org.joda.time.ReadableInstant gregorianCutover
        end local 0 // org.joda.time.DateTimeZone zone
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              zone  Lorg/joda/time/DateTimeZone;
            0    1     1  gregorianCutover  Lorg/joda/time/ReadableInstant;
    MethodParameters:
                  Name  Flags
      zone              
      gregorianCutover  

  public static org.joda.time.chrono.GJChronology getInstance(org.joda.time.DateTimeZone, org.joda.time.ReadableInstant, int);
    descriptor: (Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // org.joda.time.DateTimeZone zone
        start local 1 // org.joda.time.ReadableInstant gregorianCutover
        start local 2 // int minDaysInFirstWeek
         0: .line 188
            aload 0 /* zone */
            invokestatic org.joda.time.DateTimeUtils.getZone:(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/DateTimeZone;
            astore 0 /* zone */
         1: .line 190
            aload 1 /* gregorianCutover */
            ifnonnull 4
         2: .line 191
            getstatic org.joda.time.chrono.GJChronology.DEFAULT_CUTOVER:Lorg/joda/time/Instant;
            astore 3 /* cutoverInstant */
        start local 3 // org.joda.time.Instant cutoverInstant
         3: .line 192
            goto 8
        end local 3 // org.joda.time.Instant cutoverInstant
         4: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* gregorianCutover */
            invokeinterface org.joda.time.ReadableInstant.toInstant:()Lorg/joda/time/Instant;
            astore 3 /* cutoverInstant */
        start local 3 // org.joda.time.Instant cutoverInstant
         5: .line 194
            new org.joda.time.LocalDate
            dup
            aload 3 /* cutoverInstant */
            invokevirtual org.joda.time.Instant.getMillis:()J
            aload 0 /* zone */
            invokestatic org.joda.time.chrono.GregorianChronology.getInstance:(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/chrono/GregorianChronology;
            invokespecial org.joda.time.LocalDate.<init>:(JLorg/joda/time/Chronology;)V
            astore 4 /* cutoverDate */
        start local 4 // org.joda.time.LocalDate cutoverDate
         6: .line 195
            aload 4 /* cutoverDate */
            invokevirtual org.joda.time.LocalDate.getYear:()I
            ifgt 8
         7: .line 196
            new java.lang.IllegalArgumentException
            dup
            ldc "Cutover too early. Must be on or after 0001-01-01."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.joda.time.LocalDate cutoverDate
         8: .line 200
      StackMap locals: org.joda.time.Instant
      StackMap stack:
            new org.joda.time.chrono.GJCacheKey
            dup
            aload 0 /* zone */
            aload 3 /* cutoverInstant */
            iload 2 /* minDaysInFirstWeek */
            invokespecial org.joda.time.chrono.GJCacheKey.<init>:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/Instant;I)V
            astore 4 /* cacheKey */
        start local 4 // org.joda.time.chrono.GJCacheKey cacheKey
         9: .line 201
            getstatic org.joda.time.chrono.GJChronology.cCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 4 /* cacheKey */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.joda.time.chrono.GJChronology
            astore 5 /* chrono */
        start local 5 // org.joda.time.chrono.GJChronology chrono
        10: .line 202
            aload 5 /* chrono */
            ifnonnull 28
        11: .line 203
            aload 0 /* zone */
            getstatic org.joda.time.DateTimeZone.UTC:Lorg/joda/time/DateTimeZone;
            if_acmpne 18
        12: .line 204
            new org.joda.time.chrono.GJChronology
            dup
        13: .line 205
            aload 0 /* zone */
            iload 2 /* minDaysInFirstWeek */
            invokestatic org.joda.time.chrono.JulianChronology.getInstance:(Lorg/joda/time/DateTimeZone;I)Lorg/joda/time/chrono/JulianChronology;
        14: .line 206
            aload 0 /* zone */
            iload 2 /* minDaysInFirstWeek */
            invokestatic org.joda.time.chrono.GregorianChronology.getInstance:(Lorg/joda/time/DateTimeZone;I)Lorg/joda/time/chrono/GregorianChronology;
        15: .line 207
            aload 3 /* cutoverInstant */
        16: .line 204
            invokespecial org.joda.time.chrono.GJChronology.<init>:(Lorg/joda/time/chrono/JulianChronology;Lorg/joda/time/chrono/GregorianChronology;Lorg/joda/time/Instant;)V
            astore 5 /* chrono */
        17: .line 208
            goto 25
        18: .line 209
      StackMap locals: org.joda.time.chrono.GJCacheKey org.joda.time.chrono.GJChronology
      StackMap stack:
            getstatic org.joda.time.DateTimeZone.UTC:Lorg/joda/time/DateTimeZone;
            aload 3 /* cutoverInstant */
            iload 2 /* minDaysInFirstWeek */
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            astore 5 /* chrono */
        19: .line 210
            new org.joda.time.chrono.GJChronology
            dup
        20: .line 211
            aload 5 /* chrono */
            aload 0 /* zone */
            invokestatic org.joda.time.chrono.ZonedChronology.getInstance:(Lorg/joda/time/Chronology;Lorg/joda/time/DateTimeZone;)Lorg/joda/time/chrono/ZonedChronology;
        21: .line 212
            aload 5 /* chrono */
            getfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
        22: .line 213
            aload 5 /* chrono */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
        23: .line 214
            aload 5 /* chrono */
            getfield org.joda.time.chrono.GJChronology.iCutoverInstant:Lorg/joda/time/Instant;
        24: .line 210
            invokespecial org.joda.time.chrono.GJChronology.<init>:(Lorg/joda/time/Chronology;Lorg/joda/time/chrono/JulianChronology;Lorg/joda/time/chrono/GregorianChronology;Lorg/joda/time/Instant;)V
            astore 5 /* chrono */
        25: .line 216
      StackMap locals:
      StackMap stack:
            getstatic org.joda.time.chrono.GJChronology.cCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 4 /* cacheKey */
            aload 5 /* chrono */
            invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.joda.time.chrono.GJChronology
            astore 6 /* oldChrono */
        start local 6 // org.joda.time.chrono.GJChronology oldChrono
        26: .line 217
            aload 6 /* oldChrono */
            ifnull 28
        27: .line 218
            aload 6 /* oldChrono */
            astore 5 /* chrono */
        end local 6 // org.joda.time.chrono.GJChronology oldChrono
        28: .line 221
      StackMap locals:
      StackMap stack:
            aload 5 /* chrono */
            areturn
        end local 5 // org.joda.time.chrono.GJChronology chrono
        end local 4 // org.joda.time.chrono.GJCacheKey cacheKey
        end local 3 // org.joda.time.Instant cutoverInstant
        end local 2 // int minDaysInFirstWeek
        end local 1 // org.joda.time.ReadableInstant gregorianCutover
        end local 0 // org.joda.time.DateTimeZone zone
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   29     0                zone  Lorg/joda/time/DateTimeZone;
            0   29     1    gregorianCutover  Lorg/joda/time/ReadableInstant;
            0   29     2  minDaysInFirstWeek  I
            3    4     3      cutoverInstant  Lorg/joda/time/Instant;
            5   29     3      cutoverInstant  Lorg/joda/time/Instant;
            6    8     4         cutoverDate  Lorg/joda/time/LocalDate;
            9   29     4            cacheKey  Lorg/joda/time/chrono/GJCacheKey;
           10   29     5              chrono  Lorg/joda/time/chrono/GJChronology;
           26   28     6           oldChrono  Lorg/joda/time/chrono/GJChronology;
    MethodParameters:
                    Name  Flags
      zone                
      gregorianCutover    
      minDaysInFirstWeek  

  public static org.joda.time.chrono.GJChronology getInstance(org.joda.time.DateTimeZone, long, int);
    descriptor: (Lorg/joda/time/DateTimeZone;JI)Lorg/joda/time/chrono/GJChronology;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.joda.time.DateTimeZone zone
        start local 1 // long gregorianCutover
        start local 3 // int minDaysInFirstWeek
         0: .line 238
            lload 1 /* gregorianCutover */
            getstatic org.joda.time.chrono.GJChronology.DEFAULT_CUTOVER:Lorg/joda/time/Instant;
            invokevirtual org.joda.time.Instant.getMillis:()J
            lcmp
            ifne 3
         1: .line 239
            aconst_null
            astore 4 /* cutoverInstant */
        start local 4 // org.joda.time.Instant cutoverInstant
         2: .line 240
            goto 4
        end local 4 // org.joda.time.Instant cutoverInstant
         3: .line 241
      StackMap locals:
      StackMap stack:
            new org.joda.time.Instant
            dup
            lload 1 /* gregorianCutover */
            invokespecial org.joda.time.Instant.<init>:(J)V
            astore 4 /* cutoverInstant */
        start local 4 // org.joda.time.Instant cutoverInstant
         4: .line 243
      StackMap locals: org.joda.time.Instant
      StackMap stack:
            aload 0 /* zone */
            aload 4 /* cutoverInstant */
            iload 3 /* minDaysInFirstWeek */
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            areturn
        end local 4 // org.joda.time.Instant cutoverInstant
        end local 3 // int minDaysInFirstWeek
        end local 1 // long gregorianCutover
        end local 0 // org.joda.time.DateTimeZone zone
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                zone  Lorg/joda/time/DateTimeZone;
            0    5     1    gregorianCutover  J
            0    5     3  minDaysInFirstWeek  I
            2    3     4      cutoverInstant  Lorg/joda/time/Instant;
            4    5     4      cutoverInstant  Lorg/joda/time/Instant;
    MethodParameters:
                    Name  Flags
      zone                
      gregorianCutover    
      minDaysInFirstWeek  

  private void <init>(org.joda.time.chrono.JulianChronology, org.joda.time.chrono.GregorianChronology, org.joda.time.Instant);
    descriptor: (Lorg/joda/time/chrono/JulianChronology;Lorg/joda/time/chrono/GregorianChronology;Lorg/joda/time/Instant;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // org.joda.time.chrono.JulianChronology julian
        start local 2 // org.joda.time.chrono.GregorianChronology gregorian
        start local 3 // org.joda.time.Instant cutoverInstant
         0: .line 262
            aload 0 /* this */
            aconst_null
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* julian */
            aastore
            dup
            iconst_1
            aload 2 /* gregorian */
            aastore
            dup
            iconst_2
            aload 3 /* cutoverInstant */
            aastore
            invokespecial org.joda.time.chrono.AssembledChronology.<init>:(Lorg/joda/time/Chronology;Ljava/lang/Object;)V
         1: .line 263
            return
        end local 3 // org.joda.time.Instant cutoverInstant
        end local 2 // org.joda.time.chrono.GregorianChronology gregorian
        end local 1 // org.joda.time.chrono.JulianChronology julian
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/joda/time/chrono/GJChronology;
            0    2     1          julian  Lorg/joda/time/chrono/JulianChronology;
            0    2     2       gregorian  Lorg/joda/time/chrono/GregorianChronology;
            0    2     3  cutoverInstant  Lorg/joda/time/Instant;
    MethodParameters:
                Name  Flags
      julian          
      gregorian       
      cutoverInstant  

  private void <init>(org.joda.time.Chronology, org.joda.time.chrono.JulianChronology, org.joda.time.chrono.GregorianChronology, org.joda.time.Instant);
    descriptor: (Lorg/joda/time/Chronology;Lorg/joda/time/chrono/JulianChronology;Lorg/joda/time/chrono/GregorianChronology;Lorg/joda/time/Instant;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // org.joda.time.Chronology base
        start local 2 // org.joda.time.chrono.JulianChronology julian
        start local 3 // org.joda.time.chrono.GregorianChronology gregorian
        start local 4 // org.joda.time.Instant cutoverInstant
         0: .line 272
            aload 0 /* this */
            aload 1 /* base */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* julian */
            aastore
            dup
            iconst_1
            aload 3 /* gregorian */
            aastore
            dup
            iconst_2
            aload 4 /* cutoverInstant */
            aastore
            invokespecial org.joda.time.chrono.AssembledChronology.<init>:(Lorg/joda/time/Chronology;Ljava/lang/Object;)V
         1: .line 273
            return
        end local 4 // org.joda.time.Instant cutoverInstant
        end local 3 // org.joda.time.chrono.GregorianChronology gregorian
        end local 2 // org.joda.time.chrono.JulianChronology julian
        end local 1 // org.joda.time.Chronology base
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/joda/time/chrono/GJChronology;
            0    2     1            base  Lorg/joda/time/Chronology;
            0    2     2          julian  Lorg/joda/time/chrono/JulianChronology;
            0    2     3       gregorian  Lorg/joda/time/chrono/GregorianChronology;
            0    2     4  cutoverInstant  Lorg/joda/time/Instant;
    MethodParameters:
                Name  Flags
      base            
      julian          
      gregorian       
      cutoverInstant  

  private java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.GJChronology this
         0: .line 279
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getZone:()Lorg/joda/time/DateTimeZone;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverInstant:Lorg/joda/time/Instant;
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getMinimumDaysInFirstWeek:()I
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            areturn
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/GJChronology;

  public org.joda.time.DateTimeZone getZone();
    descriptor: ()Lorg/joda/time/DateTimeZone;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.joda.time.chrono.GJChronology this
         0: .line 284
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getBase:()Lorg/joda/time/Chronology;
            dup
            astore 1 /* base */
        start local 1 // org.joda.time.Chronology base
         1: ifnull 3
         2: .line 285
            aload 1 /* base */
            invokevirtual org.joda.time.Chronology.getZone:()Lorg/joda/time/DateTimeZone;
            areturn
         3: .line 287
      StackMap locals: org.joda.time.Chronology
      StackMap stack:
            getstatic org.joda.time.DateTimeZone.UTC:Lorg/joda/time/DateTimeZone;
            areturn
        end local 1 // org.joda.time.Chronology base
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/joda/time/chrono/GJChronology;
            1    4     1  base  Lorg/joda/time/Chronology;

  public org.joda.time.Chronology withUTC();
    descriptor: ()Lorg/joda/time/Chronology;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.GJChronology this
         0: .line 298
            aload 0 /* this */
            getstatic org.joda.time.DateTimeZone.UTC:Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.chrono.GJChronology.withZone:(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/Chronology;
            areturn
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/GJChronology;

  public org.joda.time.Chronology withZone(org.joda.time.DateTimeZone);
    descriptor: (Lorg/joda/time/DateTimeZone;)Lorg/joda/time/Chronology;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // org.joda.time.DateTimeZone zone
         0: .line 308
            aload 1 /* zone */
            ifnonnull 2
         1: .line 309
            invokestatic org.joda.time.DateTimeZone.getDefault:()Lorg/joda/time/DateTimeZone;
            astore 1 /* zone */
         2: .line 311
      StackMap locals:
      StackMap stack:
            aload 1 /* zone */
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getZone:()Lorg/joda/time/DateTimeZone;
            if_acmpne 4
         3: .line 312
            aload 0 /* this */
            areturn
         4: .line 314
      StackMap locals:
      StackMap stack:
            aload 1 /* zone */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverInstant:Lorg/joda/time/Instant;
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getMinimumDaysInFirstWeek:()I
            invokestatic org.joda.time.chrono.GJChronology.getInstance:(Lorg/joda/time/DateTimeZone;Lorg/joda/time/ReadableInstant;I)Lorg/joda/time/chrono/GJChronology;
            areturn
        end local 1 // org.joda.time.DateTimeZone zone
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/joda/time/chrono/GJChronology;
            0    5     1  zone  Lorg/joda/time/DateTimeZone;
    MethodParameters:
      Name  Flags
      zone  

  public long getDateTimeMillis(int, int, int, int);
    descriptor: (IIII)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // int year
        start local 2 // int monthOfYear
        start local 3 // int dayOfMonth
        start local 4 // int millisOfDay
         0: .line 322
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getBase:()Lorg/joda/time/Chronology;
            dup
            astore 5 /* base */
        start local 5 // org.joda.time.Chronology base
         1: ifnull 3
         2: .line 323
            aload 5 /* base */
            iload 1 /* year */
            iload 2 /* monthOfYear */
            iload 3 /* dayOfMonth */
            iload 4 /* millisOfDay */
            invokevirtual org.joda.time.Chronology.getDateTimeMillis:(IIII)J
            lreturn
         3: .line 327
      StackMap locals: org.joda.time.Chronology
      StackMap stack:
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
         4: .line 328
            iload 1 /* year */
            iload 2 /* monthOfYear */
            iload 3 /* dayOfMonth */
            iload 4 /* millisOfDay */
         5: .line 327
            invokevirtual org.joda.time.chrono.GregorianChronology.getDateTimeMillis:(IIII)J
            lstore 6 /* instant */
        start local 6 // long instant
         6: .line 329
            lload 6 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            lcmp
            ifge 12
         7: .line 331
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
         8: .line 332
            iload 1 /* year */
            iload 2 /* monthOfYear */
            iload 3 /* dayOfMonth */
            iload 4 /* millisOfDay */
         9: .line 331
            invokevirtual org.joda.time.chrono.JulianChronology.getDateTimeMillis:(IIII)J
            lstore 6 /* instant */
        10: .line 333
            lload 6 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            lcmp
            iflt 12
        11: .line 335
            new java.lang.IllegalArgumentException
            dup
            ldc "Specified date does not exist"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 338
      StackMap locals: long
      StackMap stack:
            lload 6 /* instant */
            lreturn
        end local 6 // long instant
        end local 5 // org.joda.time.Chronology base
        end local 4 // int millisOfDay
        end local 3 // int dayOfMonth
        end local 2 // int monthOfYear
        end local 1 // int year
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/joda/time/chrono/GJChronology;
            0   13     1         year  I
            0   13     2  monthOfYear  I
            0   13     3   dayOfMonth  I
            0   13     4  millisOfDay  I
            1   13     5         base  Lorg/joda/time/Chronology;
            6   13     6      instant  J
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      year         
      monthOfYear  
      dayOfMonth   
      millisOfDay  

  public long getDateTimeMillis(int, int, int, int, int, int, int);
    descriptor: (IIIIIII)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=12, args_size=8
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // int year
        start local 2 // int monthOfYear
        start local 3 // int dayOfMonth
        start local 4 // int hourOfDay
        start local 5 // int minuteOfHour
        start local 6 // int secondOfMinute
        start local 7 // int millisOfSecond
         0: .line 347
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getBase:()Lorg/joda/time/Chronology;
            dup
            astore 8 /* base */
        start local 8 // org.joda.time.Chronology base
         1: ifnull 6
         2: .line 348
            aload 8 /* base */
         3: .line 349
            iload 1 /* year */
            iload 2 /* monthOfYear */
            iload 3 /* dayOfMonth */
         4: .line 350
            iload 4 /* hourOfDay */
            iload 5 /* minuteOfHour */
            iload 6 /* secondOfMinute */
            iload 7 /* millisOfSecond */
         5: .line 348
            invokevirtual org.joda.time.Chronology.getDateTimeMillis:(IIIIIII)J
            lreturn
         6: .line 356
      StackMap locals: org.joda.time.Chronology
      StackMap stack:
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
         7: .line 357
            iload 1 /* year */
            iload 2 /* monthOfYear */
            iload 3 /* dayOfMonth */
         8: .line 358
            iload 4 /* hourOfDay */
            iload 5 /* minuteOfHour */
            iload 6 /* secondOfMinute */
            iload 7 /* millisOfSecond */
         9: .line 356
            invokevirtual org.joda.time.chrono.GregorianChronology.getDateTimeMillis:(IIIIIII)J
            lstore 9 /* instant */
        start local 9 // long instant
        10: .line 359
            goto 20
        end local 9 // long instant
      StackMap locals:
      StackMap stack: org.joda.time.IllegalFieldValueException
        11: astore 11 /* ex */
        start local 11 // org.joda.time.IllegalFieldValueException ex
        12: .line 360
            iload 2 /* monthOfYear */
            iconst_2
            if_icmpne 13
            iload 3 /* dayOfMonth */
            bipush 29
            if_icmpeq 14
        13: .line 361
      StackMap locals: org.joda.time.chrono.GJChronology int int int int int int int org.joda.time.Chronology top top org.joda.time.IllegalFieldValueException
      StackMap stack:
            aload 11 /* ex */
            athrow
        14: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
        15: .line 364
            iload 1 /* year */
            iload 2 /* monthOfYear */
            bipush 28
        16: .line 365
            iload 4 /* hourOfDay */
            iload 5 /* minuteOfHour */
            iload 6 /* secondOfMinute */
            iload 7 /* millisOfSecond */
        17: .line 363
            invokevirtual org.joda.time.chrono.GregorianChronology.getDateTimeMillis:(IIIIIII)J
            lstore 9 /* instant */
        start local 9 // long instant
        18: .line 366
            lload 9 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            lcmp
            iflt 20
        19: .line 367
            aload 11 /* ex */
            athrow
        end local 11 // org.joda.time.IllegalFieldValueException ex
        20: .line 370
      StackMap locals: org.joda.time.chrono.GJChronology int int int int int int int org.joda.time.Chronology long
      StackMap stack:
            lload 9 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            lcmp
            ifge 27
        21: .line 372
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
        22: .line 373
            iload 1 /* year */
            iload 2 /* monthOfYear */
            iload 3 /* dayOfMonth */
        23: .line 374
            iload 4 /* hourOfDay */
            iload 5 /* minuteOfHour */
            iload 6 /* secondOfMinute */
            iload 7 /* millisOfSecond */
        24: .line 372
            invokevirtual org.joda.time.chrono.JulianChronology.getDateTimeMillis:(IIIIIII)J
            lstore 9 /* instant */
        25: .line 375
            lload 9 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            lcmp
            iflt 27
        26: .line 377
            new java.lang.IllegalArgumentException
            dup
            ldc "Specified date does not exist"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 380
      StackMap locals:
      StackMap stack:
            lload 9 /* instant */
            lreturn
        end local 9 // long instant
        end local 8 // org.joda.time.Chronology base
        end local 7 // int millisOfSecond
        end local 6 // int secondOfMinute
        end local 5 // int minuteOfHour
        end local 4 // int hourOfDay
        end local 3 // int dayOfMonth
        end local 2 // int monthOfYear
        end local 1 // int year
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   28     0            this  Lorg/joda/time/chrono/GJChronology;
            0   28     1            year  I
            0   28     2     monthOfYear  I
            0   28     3      dayOfMonth  I
            0   28     4       hourOfDay  I
            0   28     5    minuteOfHour  I
            0   28     6  secondOfMinute  I
            0   28     7  millisOfSecond  I
            1   28     8            base  Lorg/joda/time/Chronology;
           10   11     9         instant  J
           18   28     9         instant  J
           12   20    11              ex  Lorg/joda/time/IllegalFieldValueException;
      Exception table:
        from    to  target  type
           6    10      11  Class org.joda.time.IllegalFieldValueException
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
                Name  Flags
      year            
      monthOfYear     
      dayOfMonth      
      hourOfDay       
      minuteOfHour    
      secondOfMinute  
      millisOfSecond  

  public org.joda.time.Instant getGregorianCutover();
    descriptor: ()Lorg/joda/time/Instant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.GJChronology this
         0: .line 388
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverInstant:Lorg/joda/time/Instant;
            areturn
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/GJChronology;

  public int getMinimumDaysInFirstWeek();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.GJChronology this
         0: .line 397
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
            invokevirtual org.joda.time.chrono.GregorianChronology.getMinimumDaysInFirstWeek:()I
            ireturn
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/GJChronology;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // java.lang.Object obj
         0: .line 409
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 410
            iconst_1
            ireturn
         2: .line 412
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof org.joda.time.chrono.GJChronology
            ifeq 9
         3: .line 413
            aload 1 /* obj */
            checkcast org.joda.time.chrono.GJChronology
            astore 2 /* chrono */
        start local 2 // org.joda.time.chrono.GJChronology chrono
         4: .line 414
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            aload 2 /* chrono */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            lcmp
            ifne 8
         5: .line 415
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getMinimumDaysInFirstWeek:()I
            aload 2 /* chrono */
            invokevirtual org.joda.time.chrono.GJChronology.getMinimumDaysInFirstWeek:()I
            if_icmpne 8
         6: .line 416
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getZone:()Lorg/joda/time/DateTimeZone;
            aload 2 /* chrono */
            invokevirtual org.joda.time.chrono.GJChronology.getZone:()Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.DateTimeZone.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 414
            iconst_1
            ireturn
      StackMap locals: org.joda.time.chrono.GJChronology
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // org.joda.time.chrono.GJChronology chrono
         9: .line 418
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/joda/time/chrono/GJChronology;
            0   10     1     obj  Ljava/lang/Object;
            4    9     2  chrono  Lorg/joda/time/chrono/GJChronology;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.GJChronology this
         0: .line 428
            ldc "GJ"
            invokevirtual java.lang.String.hashCode:()I
            bipush 11
            imul
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getZone:()Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.DateTimeZone.hashCode:()I
            iadd
         1: .line 429
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getMinimumDaysInFirstWeek:()I
         2: .line 428
            iadd
         3: .line 429
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverInstant:Lorg/joda/time/Instant;
            invokevirtual org.joda.time.Instant.hashCode:()I
         4: .line 428
            iadd
            ireturn
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/joda/time/chrono/GJChronology;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.joda.time.chrono.GJChronology this
         0: .line 440
            new java.lang.StringBuffer
            dup
            bipush 60
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 441
            aload 1 /* sb */
            ldc "GJChronology"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 442
            aload 1 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 443
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getZone:()Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.DateTimeZone.getID:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 445
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            getstatic org.joda.time.chrono.GJChronology.DEFAULT_CUTOVER:Lorg/joda/time/Instant;
            invokevirtual org.joda.time.Instant.getMillis:()J
            lcmp
            ifeq 11
         5: .line 446
            aload 1 /* sb */
            ldc ",cutover="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 448
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.withUTC:()Lorg/joda/time/Chronology;
            invokevirtual org.joda.time.Chronology.dayOfYear:()Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokevirtual org.joda.time.DateTimeField.remainder:(J)J
            lconst_0
            lcmp
            ifne 9
         7: .line 449
            invokestatic org.joda.time.format.ISODateTimeFormat.date:()Lorg/joda/time/format/DateTimeFormatter;
            astore 2 /* printer */
        start local 2 // org.joda.time.format.DateTimeFormatter printer
         8: .line 450
            goto 10
        end local 2 // org.joda.time.format.DateTimeFormatter printer
         9: .line 451
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            invokestatic org.joda.time.format.ISODateTimeFormat.dateTime:()Lorg/joda/time/format/DateTimeFormatter;
            astore 2 /* printer */
        start local 2 // org.joda.time.format.DateTimeFormatter printer
        10: .line 453
      StackMap locals: org.joda.time.format.DateTimeFormatter
      StackMap stack:
            aload 2 /* printer */
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.withUTC:()Lorg/joda/time/Chronology;
            invokevirtual org.joda.time.format.DateTimeFormatter.withChronology:(Lorg/joda/time/Chronology;)Lorg/joda/time/format/DateTimeFormatter;
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokevirtual org.joda.time.format.DateTimeFormatter.printTo:(Ljava/lang/StringBuffer;J)V
        end local 2 // org.joda.time.format.DateTimeFormatter printer
        11: .line 456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getMinimumDaysInFirstWeek:()I
            iconst_4
            if_icmpeq 14
        12: .line 457
            aload 1 /* sb */
            ldc ",mdfw="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 458
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getMinimumDaysInFirstWeek:()I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        14: .line 460
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        15: .line 462
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/joda/time/chrono/GJChronology;
            1   16     1       sb  Ljava/lang/StringBuffer;
            8    9     2  printer  Lorg/joda/time/format/DateTimeFormatter;
           10   11     2  printer  Lorg/joda/time/format/DateTimeFormatter;

  protected void assemble(org.joda.time.chrono.AssembledChronology$Fields);
    descriptor: (Lorg/joda/time/chrono/AssembledChronology$Fields;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=8, args_size=2
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // org.joda.time.chrono.AssembledChronology$Fields fields
         0: .line 466
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getParam:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 2 /* params */
        start local 2 // java.lang.Object[] params
         1: .line 468
            aload 2 /* params */
            iconst_0
            aaload
            checkcast org.joda.time.chrono.JulianChronology
            astore 3 /* julian */
        start local 3 // org.joda.time.chrono.JulianChronology julian
         2: .line 469
            aload 2 /* params */
            iconst_1
            aaload
            checkcast org.joda.time.chrono.GregorianChronology
            astore 4 /* gregorian */
        start local 4 // org.joda.time.chrono.GregorianChronology gregorian
         3: .line 470
            aload 2 /* params */
            iconst_2
            aaload
            checkcast org.joda.time.Instant
            astore 5 /* cutoverInstant */
        start local 5 // org.joda.time.Instant cutoverInstant
         4: .line 471
            aload 0 /* this */
            aload 5 /* cutoverInstant */
            invokevirtual org.joda.time.Instant.getMillis:()J
            putfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
         5: .line 473
            aload 0 /* this */
            aload 3 /* julian */
            putfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
         6: .line 474
            aload 0 /* this */
            aload 4 /* gregorian */
            putfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
         7: .line 475
            aload 0 /* this */
            aload 5 /* cutoverInstant */
            putfield org.joda.time.chrono.GJChronology.iCutoverInstant:Lorg/joda/time/Instant;
         8: .line 477
            aload 0 /* this */
            invokevirtual org.joda.time.chrono.GJChronology.getBase:()Lorg/joda/time/Chronology;
            ifnull 10
         9: .line 478
            return
        10: .line 481
      StackMap locals: org.joda.time.chrono.GJChronology org.joda.time.chrono.AssembledChronology$Fields java.lang.Object[] org.joda.time.chrono.JulianChronology org.joda.time.chrono.GregorianChronology org.joda.time.Instant
      StackMap stack:
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.getMinimumDaysInFirstWeek:()I
            aload 4 /* gregorian */
            invokevirtual org.joda.time.chrono.GregorianChronology.getMinimumDaysInFirstWeek:()I
            if_icmpeq 12
        11: .line 482
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        12: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            aload 0 /* this */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokevirtual org.joda.time.chrono.GJChronology.julianToGregorianByYear:(J)J
            lsub
            putfield org.joda.time.chrono.GJChronology.iGapDuration:J
        13: .line 492
            aload 1 /* fields */
            aload 4 /* gregorian */
            invokevirtual org.joda.time.chrono.AssembledChronology$Fields.copyFieldsFrom:(Lorg/joda/time/Chronology;)V
        14: .line 498
            aload 4 /* gregorian */
            invokevirtual org.joda.time.chrono.GregorianChronology.millisOfDay:()Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokevirtual org.joda.time.DateTimeField.get:(J)I
            ifne 28
        15: .line 502
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.millisOfSecond:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.millisOfSecond:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.millisOfSecond:Lorg/joda/time/DateTimeField;
        16: .line 503
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.millisOfDay:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.millisOfDay:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.millisOfDay:Lorg/joda/time/DateTimeField;
        17: .line 504
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.secondOfMinute:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.secondOfMinute:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.secondOfMinute:Lorg/joda/time/DateTimeField;
        18: .line 505
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.secondOfDay:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.secondOfDay:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.secondOfDay:Lorg/joda/time/DateTimeField;
        19: .line 506
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.minuteOfHour:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.minuteOfHour:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.minuteOfHour:Lorg/joda/time/DateTimeField;
        20: .line 507
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.minuteOfDay:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.minuteOfDay:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.minuteOfDay:Lorg/joda/time/DateTimeField;
        21: .line 508
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.hourOfDay:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.hourOfDay:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.hourOfDay:Lorg/joda/time/DateTimeField;
        22: .line 509
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.hourOfHalfday:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.hourOfHalfday:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.hourOfHalfday:Lorg/joda/time/DateTimeField;
        23: .line 510
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.clockhourOfDay:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.clockhourOfDay:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.clockhourOfDay:Lorg/joda/time/DateTimeField;
        24: .line 511
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.clockhourOfHalfday:()Lorg/joda/time/DateTimeField;
        25: .line 512
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.clockhourOfHalfday:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
        26: .line 511
            putfield org.joda.time.chrono.AssembledChronology$Fields.clockhourOfHalfday:Lorg/joda/time/DateTimeField;
        27: .line 513
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.halfdayOfDay:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.halfdayOfDay:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.halfdayOfDay:Lorg/joda/time/DateTimeField;
        28: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.era:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.era:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            putfield org.joda.time.chrono.AssembledChronology$Fields.era:Lorg/joda/time/DateTimeField;
        29: .line 525
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$ImpreciseCutoverField
            dup
            aload 0 /* this */
        30: .line 526
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.year:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.year:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$ImpreciseCutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
        31: .line 525
            putfield org.joda.time.chrono.AssembledChronology$Fields.year:Lorg/joda/time/DateTimeField;
        32: .line 527
            aload 1 /* fields */
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.year:Lorg/joda/time/DateTimeField;
            invokevirtual org.joda.time.DateTimeField.getDurationField:()Lorg/joda/time/DurationField;
            putfield org.joda.time.chrono.AssembledChronology$Fields.years:Lorg/joda/time/DurationField;
        33: .line 528
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$ImpreciseCutoverField
            dup
            aload 0 /* this */
        34: .line 529
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.yearOfEra:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.yearOfEra:Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.years:Lorg/joda/time/DurationField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$ImpreciseCutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;Lorg/joda/time/DurationField;J)V
        35: .line 528
            putfield org.joda.time.chrono.AssembledChronology$Fields.yearOfEra:Lorg/joda/time/DateTimeField;
        36: .line 531
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$ImpreciseCutoverField
            dup
            aload 0 /* this */
        37: .line 532
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.centuryOfEra:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.centuryOfEra:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$ImpreciseCutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
        38: .line 531
            putfield org.joda.time.chrono.AssembledChronology$Fields.centuryOfEra:Lorg/joda/time/DateTimeField;
        39: .line 533
            aload 1 /* fields */
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.centuryOfEra:Lorg/joda/time/DateTimeField;
            invokevirtual org.joda.time.DateTimeField.getDurationField:()Lorg/joda/time/DurationField;
            putfield org.joda.time.chrono.AssembledChronology$Fields.centuries:Lorg/joda/time/DurationField;
        40: .line 535
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$ImpreciseCutoverField
            dup
            aload 0 /* this */
        41: .line 536
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.yearOfCentury:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.yearOfCentury:Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.years:Lorg/joda/time/DurationField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.centuries:Lorg/joda/time/DurationField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$ImpreciseCutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;Lorg/joda/time/DurationField;Lorg/joda/time/DurationField;J)V
        42: .line 535
            putfield org.joda.time.chrono.AssembledChronology$Fields.yearOfCentury:Lorg/joda/time/DateTimeField;
        43: .line 538
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$ImpreciseCutoverField
            dup
            aload 0 /* this */
        44: .line 539
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.monthOfYear:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.monthOfYear:Lorg/joda/time/DateTimeField;
            aconst_null
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.years:Lorg/joda/time/DurationField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$ImpreciseCutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;Lorg/joda/time/DurationField;Lorg/joda/time/DurationField;J)V
        45: .line 538
            putfield org.joda.time.chrono.AssembledChronology$Fields.monthOfYear:Lorg/joda/time/DateTimeField;
        46: .line 540
            aload 1 /* fields */
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.monthOfYear:Lorg/joda/time/DateTimeField;
            invokevirtual org.joda.time.DateTimeField.getDurationField:()Lorg/joda/time/DurationField;
            putfield org.joda.time.chrono.AssembledChronology$Fields.months:Lorg/joda/time/DurationField;
        47: .line 542
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$ImpreciseCutoverField
            dup
            aload 0 /* this */
        48: .line 543
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.weekyear:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.weekyear:Lorg/joda/time/DateTimeField;
            aconst_null
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            iconst_1
            invokespecial org.joda.time.chrono.GJChronology$ImpreciseCutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;Lorg/joda/time/DurationField;JZ)V
        49: .line 542
            putfield org.joda.time.chrono.AssembledChronology$Fields.weekyear:Lorg/joda/time/DateTimeField;
        50: .line 544
            aload 1 /* fields */
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.weekyear:Lorg/joda/time/DateTimeField;
            invokevirtual org.joda.time.DateTimeField.getDurationField:()Lorg/joda/time/DurationField;
            putfield org.joda.time.chrono.AssembledChronology$Fields.weekyears:Lorg/joda/time/DurationField;
        51: .line 545
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$ImpreciseCutoverField
            dup
            aload 0 /* this */
        52: .line 546
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.weekyearOfCentury:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.weekyearOfCentury:Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.weekyears:Lorg/joda/time/DurationField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.centuries:Lorg/joda/time/DurationField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokespecial org.joda.time.chrono.GJChronology$ImpreciseCutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;Lorg/joda/time/DurationField;Lorg/joda/time/DurationField;J)V
        53: .line 545
            putfield org.joda.time.chrono.AssembledChronology$Fields.weekyearOfCentury:Lorg/joda/time/DateTimeField;
        54: .line 555
            aload 4 /* gregorian */
            invokevirtual org.joda.time.chrono.GregorianChronology.year:()Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokevirtual org.joda.time.DateTimeField.roundCeiling:(J)J
            lstore 6 /* cutover */
        start local 6 // long cutover
        55: .line 556
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
        56: .line 557
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.dayOfYear:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.dayOfYear:Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.years:Lorg/joda/time/DurationField;
            lload 6 /* cutover */
            iconst_0
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;Lorg/joda/time/DurationField;JZ)V
        57: .line 556
            putfield org.joda.time.chrono.AssembledChronology$Fields.dayOfYear:Lorg/joda/time/DateTimeField;
        end local 6 // long cutover
        58: .line 561
            aload 4 /* gregorian */
            invokevirtual org.joda.time.chrono.GregorianChronology.weekyear:()Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
            invokevirtual org.joda.time.DateTimeField.roundCeiling:(J)J
            lstore 6 /* cutover */
        start local 6 // long cutover
        59: .line 562
            aload 1 /* fields */
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
        60: .line 563
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.weekOfWeekyear:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.weekOfWeekyear:Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.weekyears:Lorg/joda/time/DurationField;
            lload 6 /* cutover */
            iconst_1
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;Lorg/joda/time/DurationField;JZ)V
        61: .line 562
            putfield org.joda.time.chrono.AssembledChronology$Fields.weekOfWeekyear:Lorg/joda/time/DateTimeField;
        end local 6 // long cutover
        62: .line 569
            new org.joda.time.chrono.GJChronology$CutoverField
            dup
            aload 0 /* this */
        63: .line 570
            aload 3 /* julian */
            invokevirtual org.joda.time.chrono.JulianChronology.dayOfMonth:()Lorg/joda/time/DateTimeField;
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.dayOfMonth:Lorg/joda/time/DateTimeField;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iCutoverMillis:J
        64: .line 569
            invokespecial org.joda.time.chrono.GJChronology$CutoverField.<init>:(Lorg/joda/time/chrono/GJChronology;Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeField;J)V
            astore 6 /* cf */
        start local 6 // org.joda.time.chrono.GJChronology$CutoverField cf
        65: .line 571
            aload 6 /* cf */
            aload 1 /* fields */
            getfield org.joda.time.chrono.AssembledChronology$Fields.months:Lorg/joda/time/DurationField;
            putfield org.joda.time.chrono.GJChronology$CutoverField.iRangeDurationField:Lorg/joda/time/DurationField;
        66: .line 572
            aload 1 /* fields */
            aload 6 /* cf */
            putfield org.joda.time.chrono.AssembledChronology$Fields.dayOfMonth:Lorg/joda/time/DateTimeField;
        end local 6 // org.joda.time.chrono.GJChronology$CutoverField cf
        67: .line 574
            return
        end local 5 // org.joda.time.Instant cutoverInstant
        end local 4 // org.joda.time.chrono.GregorianChronology gregorian
        end local 3 // org.joda.time.chrono.JulianChronology julian
        end local 2 // java.lang.Object[] params
        end local 1 // org.joda.time.chrono.AssembledChronology$Fields fields
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   68     0            this  Lorg/joda/time/chrono/GJChronology;
            0   68     1          fields  Lorg/joda/time/chrono/AssembledChronology$Fields;
            1   68     2          params  [Ljava/lang/Object;
            2   68     3          julian  Lorg/joda/time/chrono/JulianChronology;
            3   68     4       gregorian  Lorg/joda/time/chrono/GregorianChronology;
            4   68     5  cutoverInstant  Lorg/joda/time/Instant;
           55   58     6         cutover  J
           59   62     6         cutover  J
           65   67     6              cf  Lorg/joda/time/chrono/GJChronology$CutoverField;
    MethodParameters:
        Name  Flags
      fields  

  long julianToGregorianByYear(long);
    descriptor: (J)J
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // long instant
         0: .line 577
            lload 1 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
            invokestatic org.joda.time.chrono.GJChronology.convertByYear:(JLorg/joda/time/Chronology;Lorg/joda/time/Chronology;)J
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/GJChronology;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  long gregorianToJulianByYear(long);
    descriptor: (J)J
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // long instant
         0: .line 581
            lload 1 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
            invokestatic org.joda.time.chrono.GJChronology.convertByYear:(JLorg/joda/time/Chronology;Lorg/joda/time/Chronology;)J
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/GJChronology;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  long julianToGregorianByWeekyear(long);
    descriptor: (J)J
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // long instant
         0: .line 585
            lload 1 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
            invokestatic org.joda.time.chrono.GJChronology.convertByWeekyear:(JLorg/joda/time/Chronology;Lorg/joda/time/Chronology;)J
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/GJChronology;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  long gregorianToJulianByWeekyear(long);
    descriptor: (J)J
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.GJChronology this
        start local 1 // long instant
         0: .line 589
            lload 1 /* instant */
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iGregorianChronology:Lorg/joda/time/chrono/GregorianChronology;
            aload 0 /* this */
            getfield org.joda.time.chrono.GJChronology.iJulianChronology:Lorg/joda/time/chrono/JulianChronology;
            invokestatic org.joda.time.chrono.GJChronology.convertByWeekyear:(JLorg/joda/time/Chronology;Lorg/joda/time/Chronology;)J
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.GJChronology this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/GJChronology;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  
}
SourceFile: "GJChronology.java"
NestMembers:
  org.joda.time.chrono.GJChronology$CutoverField  org.joda.time.chrono.GJChronology$ImpreciseCutoverField  org.joda.time.chrono.GJChronology$LinkedDurationField
InnerClasses:
  public final Fields = org.joda.time.chrono.AssembledChronology$Fields of org.joda.time.chrono.AssembledChronology
  private CutoverField = org.joda.time.chrono.GJChronology$CutoverField of org.joda.time.chrono.GJChronology
  private final ImpreciseCutoverField = org.joda.time.chrono.GJChronology$ImpreciseCutoverField of org.joda.time.chrono.GJChronology
  private LinkedDurationField = org.joda.time.chrono.GJChronology$LinkedDurationField of org.joda.time.chrono.GJChronology