public class org.apache.cassandra.utils.ExpiringMap$CacheableObject<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.utils.ExpiringMap$CacheableObject
  super_class: java.lang.Object
{
  public final T value;
    descriptor: Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: TT;

  public final long timeout;
    descriptor: J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final long createdAt;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 40
            ldc Lorg/apache/cassandra/utils/ExpiringMap;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.utils.ExpiringMap$CacheableObject.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(T, );
    descriptor: (Ljava/lang/Object;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.cassandra.utils.ExpiringMap$CacheableObject this
        start local 1 // java.lang.Object value
        start local 2 // long timeout
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            getstatic org.apache.cassandra.utils.ExpiringMap$CacheableObject.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 49
      StackMap locals: org.apache.cassandra.utils.ExpiringMap$CacheableObject java.lang.Object long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            putfield org.apache.cassandra.utils.ExpiringMap$CacheableObject.value:Ljava/lang/Object;
         3: .line 50
            aload 0 /* this */
            lload 2 /* timeout */
            putfield org.apache.cassandra.utils.ExpiringMap$CacheableObject.timeout:J
         4: .line 51
            aload 0 /* this */
            getstatic org.apache.cassandra.utils.Clock.instance:Lorg/apache/cassandra/utils/Clock;
            invokevirtual org.apache.cassandra.utils.Clock.nanoTime:()J
            putfield org.apache.cassandra.utils.ExpiringMap$CacheableObject.createdAt:J
         5: .line 52
            return
        end local 2 // long timeout
        end local 1 // java.lang.Object value
        end local 0 // org.apache.cassandra.utils.ExpiringMap$CacheableObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/cassandra/utils/ExpiringMap$CacheableObject<TT;>;
            0    6     1    value  TT;
            0    6     2  timeout  J
    Signature: (TT;J)V
    MethodParameters:
         Name  Flags
      value    
      timeout  

  private boolean isReadyToDieAt(long);
    descriptor: (J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.cassandra.utils.ExpiringMap$CacheableObject this
        start local 1 // long atNano
         0: .line 56
            lload 1 /* atNano */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.ExpiringMap$CacheableObject.createdAt:J
            lsub
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.ExpiringMap$CacheableObject.timeout:J
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lcmp
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // long atNano
        end local 0 // org.apache.cassandra.utils.ExpiringMap$CacheableObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/cassandra/utils/ExpiringMap$CacheableObject<TT;>;
            0    2     1  atNano  J
    MethodParameters:
        Name  Flags
      atNano  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ExpiringMap.java"
NestHost: org.apache.cassandra.utils.ExpiringMap
InnerClasses:
  public CacheableObject = org.apache.cassandra.utils.ExpiringMap$CacheableObject of org.apache.cassandra.utils.ExpiringMap