public interface com.google.common.collect.Multimap<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.google.common.collect.Multimap
  super_class: java.lang.Object
{
  public abstract int size();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isEmpty();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean containsKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.google.errorprone.annotations.CompatibleWith(value = "K")
    MethodParameters:
      Name  Flags
      key   

  public abstract boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.google.errorprone.annotations.CompatibleWith(value = "V")
    MethodParameters:
       Name  Flags
      value  

  public abstract boolean containsEntry(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.google.errorprone.annotations.CompatibleWith(value = "K")
      1:
        com.google.errorprone.annotations.CompatibleWith(value = "V")
    MethodParameters:
       Name  Flags
      key    
      value  

  public abstract boolean put(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TK;TV;)Z
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      key    
      value  

  public abstract boolean remove(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.google.errorprone.annotations.CompatibleWith(value = "K")
      1:
        com.google.errorprone.annotations.CompatibleWith(value = "V")
    MethodParameters:
       Name  Flags
      key    
      value  

  public abstract boolean putAll(K, java.lang.Iterable<? extends V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Iterable;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TK;Ljava/lang/Iterable<+TV;>;)Z
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      key     
      values  

  public abstract boolean putAll(com.google.common.collect.Multimap<? extends K, ? extends V>);
    descriptor: (Lcom/google/common/collect/Multimap;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/google/common/collect/Multimap<+TK;+TV;>;)Z
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
          Name  Flags
      multimap  

  public abstract java.util.Collection<V> replaceValues(K, java.lang.Iterable<? extends V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Iterable;)Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TK;Ljava/lang/Iterable<+TV;>;)Ljava/util/Collection<TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      key     
      values  

  public abstract java.util.Collection<V> removeAll();
    descriptor: (Ljava/lang/Object;)Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Collection<TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.google.errorprone.annotations.CompatibleWith(value = "K")
    MethodParameters:
      Name  Flags
      key   

  public abstract void clear();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Collection<V> get(K);
    descriptor: (Ljava/lang/Object;)Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TK;)Ljava/util/Collection<TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      key   

  public abstract java.util.Set<K> keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<TK;>;

  public abstract com.google.common.collect.Multiset<K> keys();
    descriptor: ()Lcom/google/common/collect/Multiset;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/google/common/collect/Multiset<TK;>;

  public abstract java.util.Collection<V> values();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Collection<TV;>;

  public abstract java.util.Collection<java.util.Map$Entry<K, V>> entries();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Collection<Ljava/util/Map$Entry<TK;TV;>;>;

  public void forEach(java.util.function.BiConsumer<? super K, ? super V>);
    descriptor: (Ljava/util/function/BiConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.Multimap this
        start local 1 // java.util.function.BiConsumer action
         0: .line 341
            aload 1 /* action */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 342
            aload 0 /* this */
            invokeinterface com.google.common.collect.Multimap.entries:()Ljava/util/Collection;
            aload 1 /* action */
            invokedynamic accept(Ljava/util/function/BiConsumer;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/google/common/collect/Multimap.lambda$0(Ljava/util/function/BiConsumer;Ljava/util/Map$Entry;)V (6 itf)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         2: .line 343
            return
        end local 1 // java.util.function.BiConsumer action
        end local 0 // com.google.common.collect.Multimap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/google/common/collect/Multimap<TK;TV;>;
            0    3     1  action  Ljava/util/function/BiConsumer<-TK;-TV;>;
    Signature: (Ljava/util/function/BiConsumer<-TK;-TV;>;)V
    MethodParameters:
        Name  Flags
      action  

  public abstract java.util.Map<K, java.util.Collection<V>> asMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<TK;Ljava/util/Collection<TV;>;>;

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      obj   

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  private static void lambda$0(java.util.function.BiConsumer, java.util.Map$Entry);
    descriptor: (Ljava/util/function/BiConsumer;Ljava/util/Map$Entry;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.util.Map$Entry entry
         0: .line 342
            aload 0
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
            return
        end local 1 // java.util.Map$Entry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1  entry  Ljava/util/Map$Entry<TK;TV;>;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "Multimap.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.DoNotMock(value = "Use ImmutableMultimap, HashMultimap, or another implementation")
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible()