public class io.vertx.core.net.impl.clientconnection.ConnectionManager<K, C>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.net.impl.clientconnection.ConnectionManager
  super_class: java.lang.Object
{
  private final io.vertx.core.net.impl.clientconnection.EndpointProvider<K, C> endpointProvider;
    descriptor: Lio/vertx/core/net/impl/clientconnection/EndpointProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/net/impl/clientconnection/EndpointProvider<TK;TC;>;

  private final java.util.Map<K, io.vertx.core.net.impl.clientconnection.Endpoint<C>> endpointMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<TK;Lio/vertx/core/net/impl/clientconnection/Endpoint<TC;>;>;

  public void <init>(io.vertx.core.net.impl.clientconnection.EndpointProvider<K, C>);
    descriptor: (Lio/vertx/core/net/impl/clientconnection/EndpointProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
        start local 1 // io.vertx.core.net.impl.clientconnection.EndpointProvider endpointProvider
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield io.vertx.core.net.impl.clientconnection.ConnectionManager.endpointMap:Ljava/util/Map;
         2: .line 35
            aload 0 /* this */
            aload 1 /* endpointProvider */
            putfield io.vertx.core.net.impl.clientconnection.ConnectionManager.endpointProvider:Lio/vertx/core/net/impl/clientconnection/EndpointProvider;
         3: .line 36
            return
        end local 1 // io.vertx.core.net.impl.clientconnection.EndpointProvider endpointProvider
        end local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lio/vertx/core/net/impl/clientconnection/ConnectionManager<TK;TC;>;
            0    4     1  endpointProvider  Lio/vertx/core/net/impl/clientconnection/EndpointProvider<TK;TC;>;
    Signature: (Lio/vertx/core/net/impl/clientconnection/EndpointProvider<TK;TC;>;)V
    MethodParameters:
                  Name  Flags
      endpointProvider  

  public void forEach(java.util.function.Consumer<io.vertx.core.net.impl.clientconnection.Endpoint<C>>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
        start local 1 // java.util.function.Consumer consumer
         0: .line 39
            aload 0 /* this */
            getfield io.vertx.core.net.impl.clientconnection.ConnectionManager.endpointMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* consumer */
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         1: .line 40
            return
        end local 1 // java.util.function.Consumer consumer
        end local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/core/net/impl/clientconnection/ConnectionManager<TK;TC;>;
            0    2     1  consumer  Ljava/util/function/Consumer<Lio/vertx/core/net/impl/clientconnection/Endpoint<TC;>;>;
    Signature: (Ljava/util/function/Consumer<Lio/vertx/core/net/impl/clientconnection/Endpoint<TC;>;>;)V
    MethodParameters:
          Name  Flags
      consumer  

  public void getConnection(io.vertx.core.impl.EventLoopContext, K, io.vertx.core.Handler<io.vertx.core.AsyncResult<C>>);
    descriptor: (Lio/vertx/core/impl/EventLoopContext;Ljava/lang/Object;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
        start local 1 // io.vertx.core.impl.EventLoopContext ctx
        start local 2 // java.lang.Object key
        start local 3 // io.vertx.core.Handler handler
         0: .line 45
            aload 0 /* this */
            aload 2 /* key */
            invokedynamic run(Lio/vertx/core/net/impl/clientconnection/ConnectionManager;Ljava/lang/Object;)Ljava/lang/Runnable;
              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:
                  ()V
                  io/vertx/core/net/impl/clientconnection/ConnectionManager.lambda$0(Ljava/lang/Object;)V (7)
                  ()V
            astore 4 /* dispose */
        start local 4 // java.lang.Runnable dispose
         1: .line 47
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.net.impl.clientconnection.ConnectionManager.endpointMap:Ljava/util/Map;
            aload 2 /* key */
            aload 0 /* this */
            aload 2 /* key */
            aload 1 /* ctx */
            aload 4 /* dispose */
            invokedynamic apply(Lio/vertx/core/net/impl/clientconnection/ConnectionManager;Ljava/lang/Object;Lio/vertx/core/impl/EventLoopContext;Ljava/lang/Runnable;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  io/vertx/core/net/impl/clientconnection/ConnectionManager.lambda$1(Ljava/lang/Object;Lio/vertx/core/impl/EventLoopContext;Ljava/lang/Runnable;Ljava/lang/Object;)Lio/vertx/core/net/impl/clientconnection/Endpoint; (7)
                  (Ljava/lang/Object;)Lio/vertx/core/net/impl/clientconnection/Endpoint;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast io.vertx.core.net.impl.clientconnection.Endpoint
            astore 5 /* endpoint */
        start local 5 // io.vertx.core.net.impl.clientconnection.Endpoint endpoint
         2: .line 48
            aload 5 /* endpoint */
            aload 1 /* ctx */
            aload 3 /* handler */
            invokevirtual io.vertx.core.net.impl.clientconnection.Endpoint.getConnection:(Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)Z
            ifeq 1
        end local 5 // io.vertx.core.net.impl.clientconnection.Endpoint endpoint
         3: .line 52
            return
        end local 4 // java.lang.Runnable dispose
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.lang.Object key
        end local 1 // io.vertx.core.impl.EventLoopContext ctx
        end local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/vertx/core/net/impl/clientconnection/ConnectionManager<TK;TC;>;
            0    4     1       ctx  Lio/vertx/core/impl/EventLoopContext;
            0    4     2       key  TK;
            0    4     3   handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TC;>;>;
            1    4     4   dispose  Ljava/lang/Runnable;
            2    3     5  endpoint  Lio/vertx/core/net/impl/clientconnection/Endpoint<TC;>;
    Signature: (Lio/vertx/core/impl/EventLoopContext;TK;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TC;>;>;)V
    MethodParameters:
         Name  Flags
      ctx      
      key      
      handler  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
         0: .line 55
            aload 0 /* this */
            getfield io.vertx.core.net.impl.clientconnection.ConnectionManager.endpointMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: io.vertx.core.net.impl.clientconnection.ConnectionManager top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.net.impl.clientconnection.Endpoint
            astore 1 /* conn */
        start local 1 // io.vertx.core.net.impl.clientconnection.Endpoint conn
         2: .line 56
            aload 1 /* conn */
            invokevirtual io.vertx.core.net.impl.clientconnection.Endpoint.close:()V
        end local 1 // io.vertx.core.net.impl.clientconnection.Endpoint conn
         3: .line 55
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 58
            return
        end local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/net/impl/clientconnection/ConnectionManager<TK;TC;>;
            2    3     1  conn  Lio/vertx/core/net/impl/clientconnection/Endpoint<TC;>;

  private void lambda$0(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
         0: .line 45
            aload 0 /* this */
            getfield io.vertx.core.net.impl.clientconnection.ConnectionManager.endpointMap:Ljava/util/Map;
            aload 1
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/net/impl/clientconnection/ConnectionManager<TK;TC;>;

  private io.vertx.core.net.impl.clientconnection.Endpoint lambda$1(java.lang.Object, io.vertx.core.impl.EventLoopContext, java.lang.Runnable, java.lang.Object);
    descriptor: (Ljava/lang/Object;Lio/vertx/core/impl/EventLoopContext;Ljava/lang/Runnable;Ljava/lang/Object;)Lio/vertx/core/net/impl/clientconnection/Endpoint;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
        start local 4 // java.lang.Object k
         0: .line 47
            aload 0 /* this */
            getfield io.vertx.core.net.impl.clientconnection.ConnectionManager.endpointProvider:Lio/vertx/core/net/impl/clientconnection/EndpointProvider;
            aload 1
            aload 2
            aload 3
            invokeinterface io.vertx.core.net.impl.clientconnection.EndpointProvider.create:(Ljava/lang/Object;Lio/vertx/core/impl/ContextInternal;Ljava/lang/Runnable;)Lio/vertx/core/net/impl/clientconnection/Endpoint;
            areturn
        end local 4 // java.lang.Object k
        end local 0 // io.vertx.core.net.impl.clientconnection.ConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/net/impl/clientconnection/ConnectionManager<TK;TC;>;
            0    1     4     k  TK;
}
Signature: <K:Ljava/lang/Object;C:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ConnectionManager.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles