public final class com.google.common.collect.EnumHashBiMap<K extends java.lang.Enum<K>, V> extends com.google.common.collect.AbstractBiMap<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.EnumHashBiMap
  super_class: com.google.common.collect.AbstractBiMap
{
  private transient java.lang.Class<K> keyType;
    descriptor: Ljava/lang/Class;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/lang/Class<TK;>;

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()

  public static <K extends java.lang.Enum<K>, V> com.google.common.collect.EnumHashBiMap<K, V> create(java.lang.Class<K>);
    descriptor: (Ljava/lang/Class;)Lcom/google/common/collect/EnumHashBiMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class keyType
         0: .line 53
            new com.google.common.collect.EnumHashBiMap
            dup
            aload 0 /* keyType */
            invokespecial com.google.common.collect.EnumHashBiMap.<init>:(Ljava/lang/Class;)V
            areturn
        end local 0 // java.lang.Class keyType
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  keyType  Ljava/lang/Class<TK;>;
    Signature: <K:Ljava/lang/Enum<TK;>;V:Ljava/lang/Object;>(Ljava/lang/Class<TK;>;)Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
    MethodParameters:
         Name  Flags
      keyType  

  public static <K extends java.lang.Enum<K>, V> com.google.common.collect.EnumHashBiMap<K, V> create(java.util.Map<K, ? extends V>);
    descriptor: (Ljava/util/Map;)Lcom/google/common/collect/EnumHashBiMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Map map
         0: .line 67
            aload 0 /* map */
            invokestatic com.google.common.collect.EnumBiMap.inferKeyType:(Ljava/util/Map;)Ljava/lang/Class;
            invokestatic com.google.common.collect.EnumHashBiMap.create:(Ljava/lang/Class;)Lcom/google/common/collect/EnumHashBiMap;
            astore 1 /* bimap */
        start local 1 // com.google.common.collect.EnumHashBiMap bimap
         1: .line 68
            aload 1 /* bimap */
            aload 0 /* map */
            invokevirtual com.google.common.collect.EnumHashBiMap.putAll:(Ljava/util/Map;)V
         2: .line 69
            aload 1 /* bimap */
            areturn
        end local 1 // com.google.common.collect.EnumHashBiMap bimap
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    map  Ljava/util/Map<TK;+TV;>;
            1    3     1  bimap  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
    Signature: <K:Ljava/lang/Enum<TK;>;V:Ljava/lang/Object;>(Ljava/util/Map<TK;+TV;>;)Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
    MethodParameters:
      Name  Flags
      map   

  private void <init>(java.lang.Class<K>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.EnumHashBiMap this
        start local 1 // java.lang.Class keyType
         0: .line 73
            aload 0 /* this */
         1: .line 74
            new java.util.EnumMap
            dup
            aload 1 /* keyType */
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            invokestatic com.google.common.collect.WellBehavedMap.wrap:(Ljava/util/Map;)Lcom/google/common/collect/WellBehavedMap;
         2: .line 75
            aload 1 /* keyType */
            invokevirtual java.lang.Class.getEnumConstants:()[Ljava/lang/Object;
            checkcast java.lang.Enum[]
            arraylength
            invokestatic com.google.common.collect.Maps.newHashMapWithExpectedSize:(I)Ljava/util/HashMap;
            invokespecial com.google.common.collect.AbstractBiMap.<init>:(Ljava/util/Map;Ljava/util/Map;)V
         3: .line 76
            aload 0 /* this */
            aload 1 /* keyType */
            putfield com.google.common.collect.EnumHashBiMap.keyType:Ljava/lang/Class;
         4: .line 77
            return
        end local 1 // java.lang.Class keyType
        end local 0 // com.google.common.collect.EnumHashBiMap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
            0    5     1  keyType  Ljava/lang/Class<TK;>;
    Signature: (Ljava/lang/Class<TK;>;)V
    MethodParameters:
         Name  Flags
      keyType  

  K checkKey();
    descriptor: (Ljava/lang/Enum;)Ljava/lang/Enum;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.google.common.collect.EnumHashBiMap this
        start local 1 // java.lang.Enum key
         0: .line 83
            aload 1 /* key */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Enum
            areturn
        end local 1 // java.lang.Enum key
        end local 0 // com.google.common.collect.EnumHashBiMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
            0    1     1   key  TK;
    Signature: (TK;)TK;
    MethodParameters:
      Name  Flags
      key   

  public V put(K, );
    descriptor: (Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.collect.EnumHashBiMap this
        start local 1 // java.lang.Enum key
        start local 2 // java.lang.Object value
         0: .line 89
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokespecial com.google.common.collect.AbstractBiMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Enum key
        end local 0 // com.google.common.collect.EnumHashBiMap this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
            0    1     1    key  TK;
            0    1     2  value  TV;
    Signature: (TK;TV;)TV;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      key    
      value  

  public V forcePut(K, );
    descriptor: (Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.collect.EnumHashBiMap this
        start local 1 // java.lang.Enum key
        start local 2 // java.lang.Object value
         0: .line 95
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokespecial com.google.common.collect.AbstractBiMap.forcePut:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Enum key
        end local 0 // com.google.common.collect.EnumHashBiMap this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
            0    1     1    key  TK;
            0    1     2  value  TV;
    Signature: (TK;TV;)TV;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.Class<K> keyType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.EnumHashBiMap this
         0: .line 100
            aload 0 /* this */
            getfield com.google.common.collect.EnumHashBiMap.keyType:Ljava/lang/Class;
            areturn
        end local 0 // com.google.common.collect.EnumHashBiMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
    Signature: ()Ljava/lang/Class<TK;>;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.EnumHashBiMap this
        start local 1 // java.io.ObjectOutputStream stream
         0: .line 109
            aload 1 /* stream */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 110
            aload 1 /* stream */
            aload 0 /* this */
            getfield com.google.common.collect.EnumHashBiMap.keyType:Ljava/lang/Class;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         2: .line 111
            aload 0 /* this */
            aload 1 /* stream */
            invokestatic com.google.common.collect.Serialization.writeMap:(Ljava/util/Map;Ljava/io/ObjectOutputStream;)V
         3: .line 112
            return
        end local 1 // java.io.ObjectOutputStream stream
        end local 0 // com.google.common.collect.EnumHashBiMap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
            0    4     1  stream  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
        Name  Flags
      stream  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.google.common.collect.EnumHashBiMap this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 117
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 118
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.Class
            putfield com.google.common.collect.EnumHashBiMap.keyType:Ljava/lang/Class;
         2: .line 119
            aload 0 /* this */
         3: .line 120
            new java.util.EnumMap
            dup
            aload 0 /* this */
            getfield com.google.common.collect.EnumHashBiMap.keyType:Ljava/lang/Class;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            invokestatic com.google.common.collect.WellBehavedMap.wrap:(Ljava/util/Map;)Lcom/google/common/collect/WellBehavedMap;
         4: .line 121
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield com.google.common.collect.EnumHashBiMap.keyType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getEnumConstants:()[Ljava/lang/Object;
            checkcast java.lang.Enum[]
            arraylength
            iconst_3
            imul
            iconst_2
            idiv
            invokespecial java.util.HashMap.<init>:(I)V
         5: .line 119
            invokevirtual com.google.common.collect.EnumHashBiMap.setDelegates:(Ljava/util/Map;Ljava/util/Map;)V
         6: .line 122
            aload 0 /* this */
            aload 1 /* stream */
            invokestatic com.google.common.collect.Serialization.populateMap:(Ljava/util/Map;Ljava/io/ObjectInputStream;)V
         7: .line 123
            return
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // com.google.common.collect.EnumHashBiMap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/google/common/collect/EnumHashBiMap<TK;TV;>;
            0    8     1  stream  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
        Name  Flags
      stream  

  public java.util.Set keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.google.common.collect.AbstractBiMap.keySet:()Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void clear();
    descriptor: ()V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.google.common.collect.AbstractBiMap.clear:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.Set entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.google.common.collect.AbstractBiMap.entrySet:()Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void putAll(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.google.common.collect.AbstractBiMap.putAll:(Ljava/util/Map;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.google.common.collect.BiMap inverse();
    descriptor: ()Lcom/google/common/collect/BiMap;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.google.common.collect.AbstractBiMap.inverse:()Lcom/google/common/collect/BiMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.Set values();
    descriptor: ()Ljava/util/Set;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.google.common.collect.AbstractBiMap.values:()Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  java.lang.Object checkKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Enum
            invokevirtual com.google.common.collect.EnumHashBiMap.checkKey:(Ljava/lang/Enum;)Ljava/lang/Enum;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void replaceAll(java.util.function.BiFunction);
    descriptor: (Ljava/util/function/BiFunction;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.google.common.collect.AbstractBiMap.replaceAll:(Ljava/util/function/BiFunction;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.google.common.collect.AbstractBiMap.containsValue:(Ljava/lang/Object;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object forcePut(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Enum
            aload 2
            checkcast java.lang.Object
            invokevirtual com.google.common.collect.EnumHashBiMap.forcePut:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.google.common.collect.AbstractBiMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Enum
            aload 2
            checkcast java.lang.Object
            invokevirtual com.google.common.collect.EnumHashBiMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <K:Ljava/lang/Enum<TK;>;V:Ljava/lang/Object;>Lcom/google/common/collect/AbstractBiMap<TK;TV;>;
SourceFile: "EnumHashBiMap.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)