interface java.lang.WeakPairMap$Pair<K1, K2>
  minor version: 0
  major version: 59
  flags: flags: (0x0600) ACC_INTERFACE, ACC_ABSTRACT
  this_class: java.lang.WeakPairMap$Pair
  super_class: java.lang.Object
{
  public static <K1, K2> java.lang.WeakPairMap$Pair<K1, K2> weak(K1, K2, java.lang.ref.ReferenceQueue<java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)Ljava/lang/WeakPairMap$Pair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Object k1
        start local 1 // java.lang.Object k2
        start local 2 // java.lang.ref.ReferenceQueue queue
         0: .line 201
            new java.lang.WeakPairMap$Pair$Weak
            dup
            aload 0 /* k1 */
            aload 1 /* k2 */
            aload 2 /* queue */
            invokespecial java.lang.WeakPairMap$Pair$Weak.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
            areturn
        end local 2 // java.lang.ref.ReferenceQueue queue
        end local 1 // java.lang.Object k2
        end local 0 // java.lang.Object k1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     k1  TK1;
            0    1     1     k2  TK2;
            0    1     2  queue  Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
    Signature: <K1:Ljava/lang/Object;K2:Ljava/lang/Object;>(TK1;TK2;Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;)Ljava/lang/WeakPairMap$Pair<TK1;TK2;>;
    MethodParameters:
       Name  Flags
      k1     
      k2     
      queue  

  public static <K1, K2> java.lang.WeakPairMap$Pair<K1, K2> lookup(K1, K2);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/WeakPairMap$Pair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object k1
        start local 1 // java.lang.Object k2
         0: .line 205
            new java.lang.WeakPairMap$Pair$Lookup
            dup
            aload 0 /* k1 */
            aload 1 /* k2 */
            invokespecial java.lang.WeakPairMap$Pair$Lookup.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object k2
        end local 0 // java.lang.Object k1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    k1  TK1;
            0    1     1    k2  TK2;
    Signature: <K1:Ljava/lang/Object;K2:Ljava/lang/Object;>(TK1;TK2;)Ljava/lang/WeakPairMap$Pair<TK1;TK2;>;
    MethodParameters:
      Name  Flags
      k1    
      k2    

  public abstract K1 first();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()TK1;

  public abstract K2 second();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()TK2;

  public static int hashCode(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object first
        start local 1 // java.lang.Object second
         0: .line 222
            aload 0 /* first */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
         1: .line 223
            aload 1 /* second */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
         2: .line 222
            ixor
            ireturn
        end local 1 // java.lang.Object second
        end local 0 // java.lang.Object first
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   first  Ljava/lang/Object;
            0    3     1  second  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      first   
      second  

  public static boolean equals(, , java.lang.WeakPairMap$Pair<?, ?>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/WeakPairMap$Pair;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.Object first
        start local 1 // java.lang.Object second
        start local 2 // java.lang.WeakPairMap$Pair p
         0: .line 227
            aload 0 /* first */
            ifnull 3
            aload 1 /* second */
            ifnull 3
         1: .line 228
            aload 0 /* first */
            aload 2 /* p */
            invokeinterface java.lang.WeakPairMap$Pair.first:()Ljava/lang/Object;
            if_acmpne 3
            aload 1 /* second */
            aload 2 /* p */
            invokeinterface java.lang.WeakPairMap$Pair.second:()Ljava/lang/Object;
            if_acmpne 3
         2: .line 227
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // java.lang.WeakPairMap$Pair p
        end local 1 // java.lang.Object second
        end local 0 // java.lang.Object first
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   first  Ljava/lang/Object;
            0    4     1  second  Ljava/lang/Object;
            0    4     2       p  Ljava/lang/WeakPairMap$Pair<**>;
    Signature: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/WeakPairMap$Pair<**>;)Z
    MethodParameters:
        Name  Flags
      first   
      second  
      p       
}
Signature: <K1:Ljava/lang/Object;K2:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "WeakPairMap.java"
NestHost: java.lang.WeakPairMap
InnerClasses:
  private abstract Pair = java.lang.WeakPairMap$Pair of java.lang.WeakPairMap
  public final Lookup = java.lang.WeakPairMap$Pair$Lookup of java.lang.WeakPairMap$Pair
  public final Weak = java.lang.WeakPairMap$Pair$Weak of java.lang.WeakPairMap$Pair