final class com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider<K, V> extends com.google.inject.internal.RealMapBinder$RealMultimapBinderProviderWithDependencies<K, V, java.util.Map<K, java.util.Set<com.google.inject.Provider<V>>>>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider
  super_class: com.google.inject.internal.RealMapBinder$RealMultimapBinderProviderWithDependencies
{
  private java.util.Map<K, java.util.Set<com.google.inject.Provider<V>>> multimapOfProviders;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<TK;Ljava/util/Set<Lcom/google/inject/Provider<TV;>;>;>;

  private java.util.Set<com.google.inject.spi.Dependency<?>> dependencies;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lcom/google/inject/spi/Dependency<*>;>;

  private void <init>(com.google.inject.Key<java.util.Map<K, V>>);
    descriptor: (Lcom/google/inject/Key;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
        start local 1 // com.google.inject.Key mapKey
         0: .line 1035
            aload 0 /* this */
            aload 1 /* mapKey */
            invokespecial com.google.inject.internal.RealMapBinder$RealMultimapBinderProviderWithDependencies.<init>:(Lcom/google/inject/Key;)V
         1: .line 1032
            aload 0 /* this */
            getstatic com.google.inject.internal.RealMapBinder.MODULE_DEPENDENCIES:Lcom/google/common/collect/ImmutableSet;
            putfield com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider.dependencies:Ljava/util/Set;
         2: .line 1036
            return
        end local 1 // com.google.inject.Key mapKey
        end local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/google/inject/internal/RealMapBinder$MultimapBinder$RealProviderMultimapProvider<TK;TV;>;
            0    3     1  mapKey  Lcom/google/inject/Key<Ljava/util/Map<TK;TV;>;>;
    Signature: (Lcom/google/inject/Key<Ljava/util/Map<TK;TV;>;>;)V
    MethodParameters:
        Name  Flags
      mapKey  

  public java.util.Set<com.google.inject.spi.Dependency<?>> getDependencies();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
         0: .line 1040
            aload 0 /* this */
            getfield com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider.dependencies:Ljava/util/Set;
            areturn
        end local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/inject/internal/RealMapBinder$MultimapBinder$RealProviderMultimapProvider<TK;TV;>;
    Signature: ()Ljava/util/Set<Lcom/google/inject/spi/Dependency<*>;>;

  protected void doInitialize(com.google.inject.internal.InjectorImpl, com.google.inject.internal.Errors);
    descriptor: (Lcom/google/inject/internal/InjectorImpl;Lcom/google/inject/internal/Errors;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
        start local 1 // com.google.inject.internal.InjectorImpl injector
        start local 2 // com.google.inject.internal.Errors errors
         0: .line 1046
            invokestatic com.google.common.collect.ImmutableMap.builder:()Lcom/google/common/collect/ImmutableMap$Builder;
         1: .line 1045
            astore 3 /* multimapOfProvidersBuilder */
        start local 3 // com.google.common.collect.ImmutableMap$Builder multimapOfProvidersBuilder
         2: .line 1047
            invokestatic com.google.common.collect.ImmutableSet.builder:()Lcom/google/common/collect/ImmutableSet$Builder;
            astore 4 /* dependenciesBuilder */
        start local 4 // com.google.common.collect.ImmutableSet$Builder dependenciesBuilder
         3: .line 1049
            aload 0 /* this */
            getfield com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider.bindingSelection:Lcom/google/inject/internal/RealMapBinder$BindingSelection;
            invokevirtual com.google.inject.internal.RealMapBinder$BindingSelection.getMultimapBindings:()Lcom/google/common/collect/ImmutableMap;
            invokevirtual com.google.common.collect.ImmutableMap.entrySet:()Lcom/google/common/collect/ImmutableSet;
            invokevirtual com.google.common.collect.ImmutableSet.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider com.google.inject.internal.InjectorImpl com.google.inject.internal.Errors com.google.common.collect.ImmutableMap$Builder com.google.common.collect.ImmutableSet$Builder top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         5: .line 1050
            invokestatic com.google.common.collect.ImmutableSet.builder:()Lcom/google/common/collect/ImmutableSet$Builder;
            astore 7 /* providersBuilder */
        start local 7 // com.google.common.collect.ImmutableSet$Builder providersBuilder
         6: .line 1051
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 10
      StackMap locals: com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider com.google.inject.internal.InjectorImpl com.google.inject.internal.Errors com.google.common.collect.ImmutableMap$Builder com.google.common.collect.ImmutableSet$Builder java.util.Map$Entry java.util.Iterator com.google.common.collect.ImmutableSet$Builder top java.util.Iterator
      StackMap stack:
         7: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.google.inject.Binding
            astore 8 /* binding */
        start local 8 // com.google.inject.Binding binding
         8: .line 1052
            aload 7 /* providersBuilder */
            aload 8 /* binding */
            invokeinterface com.google.inject.Binding.getProvider:()Lcom/google/inject/Provider;
            invokevirtual com.google.common.collect.ImmutableSet$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
            pop
         9: .line 1053
            aload 4 /* dependenciesBuilder */
            aload 8 /* binding */
            invokeinterface com.google.inject.Binding.getKey:()Lcom/google/inject/Key;
            invokestatic com.google.inject.internal.RealMapBinder.getKeyOfProvider:(Lcom/google/inject/Key;)Lcom/google/inject/Key;
            invokestatic com.google.inject.spi.Dependency.get:(Lcom/google/inject/Key;)Lcom/google/inject/spi/Dependency;
            invokevirtual com.google.common.collect.ImmutableSet$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
            pop
        end local 8 // com.google.inject.Binding binding
        10: .line 1051
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 1056
            aload 3 /* multimapOfProvidersBuilder */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aload 7 /* providersBuilder */
            invokevirtual com.google.common.collect.ImmutableSet$Builder.build:()Lcom/google/common/collect/ImmutableSet;
            invokevirtual com.google.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
            pop
        end local 7 // com.google.common.collect.ImmutableSet$Builder providersBuilder
        end local 5 // java.util.Map$Entry entry
        12: .line 1048
      StackMap locals: com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider com.google.inject.internal.InjectorImpl com.google.inject.internal.Errors com.google.common.collect.ImmutableMap$Builder com.google.common.collect.ImmutableSet$Builder top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 1058
            aload 0 /* this */
            aload 3 /* multimapOfProvidersBuilder */
            invokevirtual com.google.common.collect.ImmutableMap$Builder.build:()Lcom/google/common/collect/ImmutableMap;
            putfield com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider.multimapOfProviders:Ljava/util/Map;
        14: .line 1059
            aload 0 /* this */
            aload 4 /* dependenciesBuilder */
            invokevirtual com.google.common.collect.ImmutableSet$Builder.build:()Lcom/google/common/collect/ImmutableSet;
            putfield com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider.dependencies:Ljava/util/Set;
        15: .line 1060
            return
        end local 4 // com.google.common.collect.ImmutableSet$Builder dependenciesBuilder
        end local 3 // com.google.common.collect.ImmutableMap$Builder multimapOfProvidersBuilder
        end local 2 // com.google.inject.internal.Errors errors
        end local 1 // com.google.inject.internal.InjectorImpl injector
        end local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   16     0                        this  Lcom/google/inject/internal/RealMapBinder$MultimapBinder$RealProviderMultimapProvider<TK;TV;>;
            0   16     1                    injector  Lcom/google/inject/internal/InjectorImpl;
            0   16     2                      errors  Lcom/google/inject/internal/Errors;
            2   16     3  multimapOfProvidersBuilder  Lcom/google/common/collect/ImmutableMap$Builder<TK;Ljava/util/Set<Lcom/google/inject/Provider<TV;>;>;>;
            3   16     4         dependenciesBuilder  Lcom/google/common/collect/ImmutableSet$Builder<Lcom/google/inject/spi/Dependency<*>;>;
            5   12     5                       entry  Ljava/util/Map$Entry<TK;Ljava/util/Set<Lcom/google/inject/Binding<TV;>;>;>;
            6   12     7            providersBuilder  Lcom/google/common/collect/ImmutableSet$Builder<Lcom/google/inject/Provider<TV;>;>;
            8   10     8                     binding  Lcom/google/inject/Binding<TV;>;
    MethodParameters:
          Name  Flags
      injector  
      errors    

  protected java.util.Map<K, java.util.Set<com.google.inject.Provider<V>>> doProvision(com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency<?>);
    descriptor: (Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;)Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
        start local 1 // com.google.inject.internal.InternalContext context
        start local 2 // com.google.inject.spi.Dependency dependency
         0: .line 1065
            aload 0 /* this */
            getfield com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider.multimapOfProviders:Ljava/util/Map;
            areturn
        end local 2 // com.google.inject.spi.Dependency dependency
        end local 1 // com.google.inject.internal.InternalContext context
        end local 0 // com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/google/inject/internal/RealMapBinder$MultimapBinder$RealProviderMultimapProvider<TK;TV;>;
            0    1     1     context  Lcom/google/inject/internal/InternalContext;
            0    1     2  dependency  Lcom/google/inject/spi/Dependency<*>;
    Signature: (Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency<*>;)Ljava/util/Map<TK;Ljava/util/Set<Lcom/google/inject/Provider<TV;>;>;>;
    MethodParameters:
            Name  Flags
      context     
      dependency  

  protected java.lang.Object doProvision(com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency);
    descriptor: (Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider.doProvision:(Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;)Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws com.google.inject.internal.InternalProvisionException
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lcom/google/inject/internal/RealMapBinder$RealMultimapBinderProviderWithDependencies<TK;TV;Ljava/util/Map<TK;Ljava/util/Set<Lcom/google/inject/Provider<TV;>;>;>;>;
SourceFile: "RealMapBinder.java"
NestHost: com.google.inject.internal.RealMapBinder
InnerClasses:
  public Builder = com.google.common.collect.ImmutableMap$Builder of com.google.common.collect.ImmutableMap
  public Builder = com.google.common.collect.ImmutableSet$Builder of com.google.common.collect.ImmutableSet
  private final BindingSelection = com.google.inject.internal.RealMapBinder$BindingSelection of com.google.inject.internal.RealMapBinder
  private final MultimapBinder = com.google.inject.internal.RealMapBinder$MultimapBinder of com.google.inject.internal.RealMapBinder
  private final RealProviderMultimapProvider = com.google.inject.internal.RealMapBinder$MultimapBinder$RealProviderMultimapProvider of com.google.inject.internal.RealMapBinder$MultimapBinder
  private abstract RealMultimapBinderProviderWithDependencies = com.google.inject.internal.RealMapBinder$RealMultimapBinderProviderWithDependencies of com.google.inject.internal.RealMapBinder
  public abstract Entry = java.util.Map$Entry of java.util.Map