public class org.joda.time.tz.CachedDateTimeZone extends org.joda.time.DateTimeZone
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.joda.time.tz.CachedDateTimeZone
  super_class: org.joda.time.DateTimeZone
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5472298452022250685

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

  private final org.joda.time.DateTimeZone iZone;
    descriptor: Lorg/joda/time/DateTimeZone;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final transient org.joda.time.tz.CachedDateTimeZone$Info[] iInfoCache;
    descriptor: [Lorg/joda/time/tz/CachedDateTimeZone$Info;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 39
            ldc "org.joda.time.tz.CachedDateTimeZone.size"
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 0 /* i */
        start local 0 // java.lang.Integer i
         1: .line 40
            goto 4
        end local 0 // java.lang.Integer i
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         2: pop
         3: .line 41
            aconst_null
            astore 0 /* i */
        start local 0 // java.lang.Integer i
         4: .line 45
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* i */
            ifnonnull 7
         5: .line 48
            sipush 512
            istore 1 /* cacheSize */
        start local 1 // int cacheSize
         6: .line 49
            goto 15
        end local 1 // int cacheSize
         7: .line 50
      StackMap locals:
      StackMap stack:
            aload 0 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* cacheSize */
        start local 1 // int cacheSize
         8: .line 52
            iinc 1 /* cacheSize */ -1
         9: .line 53
            iconst_0
            istore 2 /* shift */
        start local 2 // int shift
        10: .line 54
            goto 13
        11: .line 55
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* shift */ 1
        12: .line 56
            iload 1 /* cacheSize */
            iconst_1
            ishr
            istore 1 /* cacheSize */
        13: .line 54
      StackMap locals:
      StackMap stack:
            iload 1 /* cacheSize */
            ifgt 11
        14: .line 58
            iconst_1
            iload 2 /* shift */
            ishl
            istore 1 /* cacheSize */
        end local 2 // int shift
        15: .line 61
      StackMap locals:
      StackMap stack:
            iload 1 /* cacheSize */
            iconst_1
            isub
            putstatic org.joda.time.tz.CachedDateTimeZone.cInfoCacheMask:I
        end local 1 // int cacheSize
        end local 0 // java.lang.Integer i
        16: .line 62
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    2     0          i  Ljava/lang/Integer;
            4   16     0          i  Ljava/lang/Integer;
            6    7     1  cacheSize  I
            8   16     1  cacheSize  I
           10   15     2      shift  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.SecurityException

  public static org.joda.time.tz.CachedDateTimeZone forZone(org.joda.time.DateTimeZone);
    descriptor: (Lorg/joda/time/DateTimeZone;)Lorg/joda/time/tz/CachedDateTimeZone;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joda.time.DateTimeZone zone
         0: .line 68
            aload 0 /* zone */
            instanceof org.joda.time.tz.CachedDateTimeZone
            ifeq 2
         1: .line 69
            aload 0 /* zone */
            checkcast org.joda.time.tz.CachedDateTimeZone
            areturn
         2: .line 71
      StackMap locals:
      StackMap stack:
            new org.joda.time.tz.CachedDateTimeZone
            dup
            aload 0 /* zone */
            invokespecial org.joda.time.tz.CachedDateTimeZone.<init>:(Lorg/joda/time/DateTimeZone;)V
            areturn
        end local 0 // org.joda.time.DateTimeZone zone
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  zone  Lorg/joda/time/DateTimeZone;
    MethodParameters:
      Name  Flags
      zone  

  private void <init>(org.joda.time.DateTimeZone);
    descriptor: (Lorg/joda/time/DateTimeZone;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // org.joda.time.DateTimeZone zone
         0: .line 87
            aload 0 /* this */
            aload 1 /* zone */
            invokevirtual org.joda.time.DateTimeZone.getID:()Ljava/lang/String;
            invokespecial org.joda.time.DateTimeZone.<init>:(Ljava/lang/String;)V
         1: .line 84
            aload 0 /* this */
            getstatic org.joda.time.tz.CachedDateTimeZone.cInfoCacheMask:I
            iconst_1
            iadd
            anewarray org.joda.time.tz.CachedDateTimeZone$Info
            putfield org.joda.time.tz.CachedDateTimeZone.iInfoCache:[Lorg/joda/time/tz/CachedDateTimeZone$Info;
         2: .line 88
            aload 0 /* this */
            aload 1 /* zone */
            putfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
         3: .line 89
            return
        end local 1 // org.joda.time.DateTimeZone zone
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    4     1  zone  Lorg/joda/time/DateTimeZone;
    MethodParameters:
      Name  Flags
      zone  

  public org.joda.time.DateTimeZone getUncachedZone();
    descriptor: ()Lorg/joda/time/DateTimeZone;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
         0: .line 95
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            areturn
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/tz/CachedDateTimeZone;

  public java.lang.String getNameKey(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // long instant
         0: .line 99
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.tz.CachedDateTimeZone.getInfo:(J)Lorg/joda/time/tz/CachedDateTimeZone$Info;
            lload 1 /* instant */
            invokevirtual org.joda.time.tz.CachedDateTimeZone$Info.getNameKey:(J)Ljava/lang/String;
            areturn
        end local 1 // long instant
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public int getOffset(long);
    descriptor: (J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // long instant
         0: .line 103
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.tz.CachedDateTimeZone.getInfo:(J)Lorg/joda/time/tz/CachedDateTimeZone$Info;
            lload 1 /* instant */
            invokevirtual org.joda.time.tz.CachedDateTimeZone$Info.getOffset:(J)I
            ireturn
        end local 1 // long instant
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public int getStandardOffset(long);
    descriptor: (J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // long instant
         0: .line 107
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.tz.CachedDateTimeZone.getInfo:(J)Lorg/joda/time/tz/CachedDateTimeZone$Info;
            lload 1 /* instant */
            invokevirtual org.joda.time.tz.CachedDateTimeZone$Info.getStandardOffset:(J)I
            ireturn
        end local 1 // long instant
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public boolean isFixed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
         0: .line 111
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.DateTimeZone.isFixed:()Z
            ireturn
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/tz/CachedDateTimeZone;

  public long nextTransition(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // long instant
         0: .line 115
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            lload 1 /* instant */
            invokevirtual org.joda.time.DateTimeZone.nextTransition:(J)J
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public long previousTransition(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // long instant
         0: .line 119
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            lload 1 /* instant */
            invokevirtual org.joda.time.DateTimeZone.previousTransition:(J)J
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
         0: .line 123
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.DateTimeZone.hashCode:()I
            ireturn
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/tz/CachedDateTimeZone;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // java.lang.Object obj
         0: .line 127
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 128
            iconst_1
            ireturn
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof org.joda.time.tz.CachedDateTimeZone
            ifeq 4
         3: .line 131
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            aload 1 /* obj */
            checkcast org.joda.time.tz.CachedDateTimeZone
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            invokevirtual org.joda.time.DateTimeZone.equals:(Ljava/lang/Object;)Z
            ireturn
         4: .line 133
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    5     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private org.joda.time.tz.CachedDateTimeZone$Info getInfo(long);
    descriptor: (J)Lorg/joda/time/tz/CachedDateTimeZone$Info;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // long millis
         0: .line 140
            lload 1 /* millis */
            bipush 32
            lshr
            l2i
            istore 3 /* period */
        start local 3 // int period
         1: .line 141
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iInfoCache:[Lorg/joda/time/tz/CachedDateTimeZone$Info;
            astore 4 /* cache */
        start local 4 // org.joda.time.tz.CachedDateTimeZone$Info[] cache
         2: .line 142
            iload 3 /* period */
            getstatic org.joda.time.tz.CachedDateTimeZone.cInfoCacheMask:I
            iand
            istore 5 /* index */
        start local 5 // int index
         3: .line 143
            aload 4 /* cache */
            iload 5 /* index */
            aaload
            astore 6 /* info */
        start local 6 // org.joda.time.tz.CachedDateTimeZone$Info info
         4: .line 144
            aload 6 /* info */
            ifnull 5
            aload 6 /* info */
            getfield org.joda.time.tz.CachedDateTimeZone$Info.iPeriodStart:J
            bipush 32
            lshr
            l2i
            iload 3 /* period */
            if_icmpeq 7
         5: .line 145
      StackMap locals: org.joda.time.tz.CachedDateTimeZone long int org.joda.time.tz.CachedDateTimeZone$Info[] int org.joda.time.tz.CachedDateTimeZone$Info
      StackMap stack:
            aload 0 /* this */
            lload 1 /* millis */
            invokevirtual org.joda.time.tz.CachedDateTimeZone.createInfo:(J)Lorg/joda/time/tz/CachedDateTimeZone$Info;
            astore 6 /* info */
         6: .line 146
            aload 4 /* cache */
            iload 5 /* index */
            aload 6 /* info */
            aastore
         7: .line 148
      StackMap locals:
      StackMap stack:
            aload 6 /* info */
            areturn
        end local 6 // org.joda.time.tz.CachedDateTimeZone$Info info
        end local 5 // int index
        end local 4 // org.joda.time.tz.CachedDateTimeZone$Info[] cache
        end local 3 // int period
        end local 1 // long millis
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/joda/time/tz/CachedDateTimeZone;
            0    8     1  millis  J
            1    8     3  period  I
            2    8     4   cache  [Lorg/joda/time/tz/CachedDateTimeZone$Info;
            3    8     5   index  I
            4    8     6    info  Lorg/joda/time/tz/CachedDateTimeZone$Info;
    MethodParameters:
        Name  Flags
      millis  

  private org.joda.time.tz.CachedDateTimeZone$Info createInfo(long);
    descriptor: (J)Lorg/joda/time/tz/CachedDateTimeZone$Info;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // org.joda.time.tz.CachedDateTimeZone this
        start local 1 // long millis
         0: .line 152
            lload 1 /* millis */
            ldc -4294967296
            land
            lstore 3 /* periodStart */
        start local 3 // long periodStart
         1: .line 153
            new org.joda.time.tz.CachedDateTimeZone$Info
            dup
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            lload 3 /* periodStart */
            invokespecial org.joda.time.tz.CachedDateTimeZone$Info.<init>:(Lorg/joda/time/DateTimeZone;J)V
            astore 5 /* info */
        start local 5 // org.joda.time.tz.CachedDateTimeZone$Info info
         2: .line 155
            lload 3 /* periodStart */
            ldc 4294967295
            lor
            lstore 6 /* end */
        start local 6 // long end
         3: .line 156
            aload 5 /* info */
            astore 8 /* chain */
        start local 8 // org.joda.time.tz.CachedDateTimeZone$Info chain
         4: .line 158
      StackMap locals: org.joda.time.tz.CachedDateTimeZone long long org.joda.time.tz.CachedDateTimeZone$Info long org.joda.time.tz.CachedDateTimeZone$Info
      StackMap stack:
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            lload 3 /* periodStart */
            invokevirtual org.joda.time.DateTimeZone.nextTransition:(J)J
            lstore 9 /* next */
        start local 9 // long next
         5: .line 159
            lload 9 /* next */
            lload 3 /* periodStart */
            lcmp
            ifeq 10
            lload 9 /* next */
            lload 6 /* end */
            lcmp
            ifle 7
         6: .line 160
            goto 10
         7: .line 162
      StackMap locals: long
      StackMap stack:
            lload 9 /* next */
            lstore 3 /* periodStart */
         8: .line 163
            aload 8 /* chain */
            new org.joda.time.tz.CachedDateTimeZone$Info
            dup
            aload 0 /* this */
            getfield org.joda.time.tz.CachedDateTimeZone.iZone:Lorg/joda/time/DateTimeZone;
            lload 3 /* periodStart */
            invokespecial org.joda.time.tz.CachedDateTimeZone$Info.<init>:(Lorg/joda/time/DateTimeZone;J)V
            dup_x1
            putfield org.joda.time.tz.CachedDateTimeZone$Info.iNextInfo:Lorg/joda/time/tz/CachedDateTimeZone$Info;
            astore 8 /* chain */
        end local 9 // long next
         9: .line 157
            goto 4
        10: .line 166
      StackMap locals:
      StackMap stack:
            aload 5 /* info */
            areturn
        end local 8 // org.joda.time.tz.CachedDateTimeZone$Info chain
        end local 6 // long end
        end local 5 // org.joda.time.tz.CachedDateTimeZone$Info info
        end local 3 // long periodStart
        end local 1 // long millis
        end local 0 // org.joda.time.tz.CachedDateTimeZone this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/joda/time/tz/CachedDateTimeZone;
            0   11     1       millis  J
            1   11     3  periodStart  J
            2   11     5         info  Lorg/joda/time/tz/CachedDateTimeZone$Info;
            3   11     6          end  J
            4   11     8        chain  Lorg/joda/time/tz/CachedDateTimeZone$Info;
            5    9     9         next  J
    MethodParameters:
        Name  Flags
      millis  
}
SourceFile: "CachedDateTimeZone.java"
NestMembers:
  org.joda.time.tz.CachedDateTimeZone$Info
InnerClasses:
  private final Info = org.joda.time.tz.CachedDateTimeZone$Info of org.joda.time.tz.CachedDateTimeZone