public interface io.vertx.kafka.client.producer.KafkaProducer<K, V> extends io.vertx.core.streams.WriteStream<io.vertx.kafka.client.producer.KafkaProducerRecord<K, V>>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.kafka.client.producer.KafkaProducer
  super_class: java.lang.Object
{
  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> createShared(io.vertx.core.Vertx, java.lang.String, java.util.Properties);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String name
        start local 2 // java.util.Properties config
         0: .line 54
            aload 0 /* vertx */
            aload 1 /* name */
            aload 2 /* config */
            invokestatic io.vertx.kafka.client.producer.impl.KafkaProducerImpl.createShared:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
        end local 2 // java.util.Properties config
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   vertx  Lio/vertx/core/Vertx;
            0    1     1    name  Ljava/lang/String;
            0    1     2  config  Ljava/util/Properties;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
        Name  Flags
      vertx   
      name    
      config  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> createShared(io.vertx.core.Vertx, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String name
        start local 2 // java.util.Map config
         0: .line 66
            aload 0 /* vertx */
            aload 1 /* name */
            aload 2 /* config */
            invokestatic io.vertx.kafka.client.producer.impl.KafkaProducerImpl.createShared:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
        end local 2 // java.util.Map config
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   vertx  Lio/vertx/core/Vertx;
            0    1     1    name  Ljava/lang/String;
            0    1     2  config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    MethodParameters:
        Name  Flags
      vertx   
      name    
      config  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> createShared(io.vertx.core.Vertx, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, org.apache.kafka.common.serialization.Serializer<K>, org.apache.kafka.common.serialization.Serializer<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String name
        start local 2 // java.util.Map config
        start local 3 // org.apache.kafka.common.serialization.Serializer keySerializer
        start local 4 // org.apache.kafka.common.serialization.Serializer valueSerializer
         0: .line 81
            aload 0 /* vertx */
            aload 1 /* name */
            aload 2 /* config */
            aload 3 /* keySerializer */
            aload 4 /* valueSerializer */
            invokestatic io.vertx.kafka.client.producer.impl.KafkaProducerImpl.createShared:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
        end local 4 // org.apache.kafka.common.serialization.Serializer valueSerializer
        end local 3 // org.apache.kafka.common.serialization.Serializer keySerializer
        end local 2 // java.util.Map config
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0            vertx  Lio/vertx/core/Vertx;
            0    1     1             name  Ljava/lang/String;
            0    1     2           config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    1     3    keySerializer  Lorg/apache/kafka/common/serialization/Serializer<TK;>;
            0    1     4  valueSerializer  Lorg/apache/kafka/common/serialization/Serializer<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lorg/apache/kafka/common/serialization/Serializer<TK;>;Lorg/apache/kafka/common/serialization/Serializer<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
                 Name  Flags
      vertx            
      name             
      config           
      keySerializer    
      valueSerializer  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> createShared(io.vertx.core.Vertx, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String name
        start local 2 // java.util.Map config
        start local 3 // java.lang.Class keyType
        start local 4 // java.lang.Class valueType
         0: .line 95
            aload 0 /* vertx */
            aload 1 /* name */
            aload 2 /* config */
            aload 3 /* keyType */
            aload 4 /* valueType */
            invokestatic io.vertx.kafka.client.producer.impl.KafkaProducerImpl.createShared:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
        end local 4 // java.lang.Class valueType
        end local 3 // java.lang.Class keyType
        end local 2 // java.util.Map config
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      vertx  Lio/vertx/core/Vertx;
            0    1     1       name  Ljava/lang/String;
            0    1     2     config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    1     3    keyType  Ljava/lang/Class<TK;>;
            0    1     4  valueType  Ljava/lang/Class<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    MethodParameters:
           Name  Flags
      vertx      
      name       
      config     
      keyType    
      valueType  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> createShared(io.vertx.core.Vertx, java.lang.String, java.util.Properties, org.apache.kafka.common.serialization.Serializer<K>, org.apache.kafka.common.serialization.Serializer<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String name
        start local 2 // java.util.Properties config
        start local 3 // org.apache.kafka.common.serialization.Serializer keySerializer
        start local 4 // org.apache.kafka.common.serialization.Serializer valueSerializer
         0: .line 110
            aload 0 /* vertx */
            aload 1 /* name */
            aload 2 /* config */
            aload 3 /* keySerializer */
            aload 4 /* valueSerializer */
            invokestatic io.vertx.kafka.client.producer.impl.KafkaProducerImpl.createShared:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
        end local 4 // org.apache.kafka.common.serialization.Serializer valueSerializer
        end local 3 // org.apache.kafka.common.serialization.Serializer keySerializer
        end local 2 // java.util.Properties config
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0            vertx  Lio/vertx/core/Vertx;
            0    1     1             name  Ljava/lang/String;
            0    1     2           config  Ljava/util/Properties;
            0    1     3    keySerializer  Lorg/apache/kafka/common/serialization/Serializer<TK;>;
            0    1     4  valueSerializer  Lorg/apache/kafka/common/serialization/Serializer<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;Lorg/apache/kafka/common/serialization/Serializer<TK;>;Lorg/apache/kafka/common/serialization/Serializer<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
                 Name  Flags
      vertx            
      name             
      config           
      keySerializer    
      valueSerializer  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> createShared(io.vertx.core.Vertx, java.lang.String, java.util.Properties, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String name
        start local 2 // java.util.Properties config
        start local 3 // java.lang.Class keyType
        start local 4 // java.lang.Class valueType
         0: .line 125
            aload 0 /* vertx */
            aload 1 /* name */
            aload 2 /* config */
            aload 3 /* keyType */
            aload 4 /* valueType */
            invokestatic io.vertx.kafka.client.producer.impl.KafkaProducerImpl.createShared:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
        end local 4 // java.lang.Class valueType
        end local 3 // java.lang.Class keyType
        end local 2 // java.util.Properties config
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      vertx  Lio/vertx/core/Vertx;
            0    1     1       name  Ljava/lang/String;
            0    1     2     config  Ljava/util/Properties;
            0    1     3    keyType  Ljava/lang/Class<TK;>;
            0    1     4  valueType  Ljava/lang/Class<TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
           Name  Flags
      vertx      
      name       
      config     
      keyType    
      valueType  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> create(io.vertx.core.Vertx, org.apache.kafka.clients.producer.Producer<K, V>);
    descriptor: (Lio/vertx/core/Vertx;Lorg/apache/kafka/clients/producer/Producer;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // org.apache.kafka.clients.producer.Producer producer
         0: .line 137
            aload 0 /* vertx */
            aload 1 /* producer */
            invokestatic io.vertx.kafka.client.producer.KafkaWriteStream.create:(Lio/vertx/core/Vertx;Lorg/apache/kafka/clients/producer/Producer;)Lio/vertx/kafka/client/producer/KafkaWriteStream;
            astore 2 /* stream */
        start local 2 // io.vertx.kafka.client.producer.KafkaWriteStream stream
         1: .line 138
            new io.vertx.kafka.client.producer.impl.KafkaProducerImpl
            dup
            aload 2 /* stream */
            invokespecial io.vertx.kafka.client.producer.impl.KafkaProducerImpl.<init>:(Lio/vertx/kafka/client/producer/KafkaWriteStream;)V
            areturn
        end local 2 // io.vertx.kafka.client.producer.KafkaWriteStream stream
        end local 1 // org.apache.kafka.clients.producer.Producer producer
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0     vertx  Lio/vertx/core/Vertx;
            0    2     1  producer  Lorg/apache/kafka/clients/producer/Producer<TK;TV;>;
            1    2     2    stream  Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Lorg/apache/kafka/clients/producer/Producer<TK;TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
          Name  Flags
      vertx     
      producer  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> create(io.vertx.core.Vertx, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/util/Map;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.util.Map config
         0: .line 149
            aload 0 /* vertx */
            new java.util.HashMap
            dup
            aload 1 /* config */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            invokestatic io.vertx.kafka.client.producer.KafkaWriteStream.create:(Lio/vertx/core/Vertx;Ljava/util/Map;)Lio/vertx/kafka/client/producer/KafkaWriteStream;
            astore 2 /* stream */
        start local 2 // io.vertx.kafka.client.producer.KafkaWriteStream stream
         1: .line 150
            new io.vertx.kafka.client.producer.impl.KafkaProducerImpl
            dup
            aload 2 /* stream */
            invokespecial io.vertx.kafka.client.producer.impl.KafkaProducerImpl.<init>:(Lio/vertx/kafka/client/producer/KafkaWriteStream;)V
            invokevirtual io.vertx.kafka.client.producer.impl.KafkaProducerImpl.registerCloseHook:()Lio/vertx/kafka/client/producer/impl/KafkaProducerImpl;
            areturn
        end local 2 // io.vertx.kafka.client.producer.KafkaWriteStream stream
        end local 1 // java.util.Map config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   vertx  Lio/vertx/core/Vertx;
            0    2     1  config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    2     2  stream  Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    MethodParameters:
        Name  Flags
      vertx   
      config  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> create(io.vertx.core.Vertx, java.util.Map<java.lang.String, java.lang.String>, org.apache.kafka.common.serialization.Serializer<K>, org.apache.kafka.common.serialization.Serializer<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/util/Map;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.util.Map config
        start local 2 // org.apache.kafka.common.serialization.Serializer keySerializer
        start local 3 // org.apache.kafka.common.serialization.Serializer valueSerializer
         0: .line 164
            aload 0 /* vertx */
            new java.util.HashMap
            dup
            aload 1 /* config */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            aload 2 /* keySerializer */
            aload 3 /* valueSerializer */
            invokestatic io.vertx.kafka.client.producer.KafkaWriteStream.create:(Lio/vertx/core/Vertx;Ljava/util/Map;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaWriteStream;
            astore 4 /* stream */
        start local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
         1: .line 165
            new io.vertx.kafka.client.producer.impl.KafkaProducerImpl
            dup
            aload 4 /* stream */
            invokespecial io.vertx.kafka.client.producer.impl.KafkaProducerImpl.<init>:(Lio/vertx/kafka/client/producer/KafkaWriteStream;)V
            invokevirtual io.vertx.kafka.client.producer.impl.KafkaProducerImpl.registerCloseHook:()Lio/vertx/kafka/client/producer/impl/KafkaProducerImpl;
            areturn
        end local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
        end local 3 // org.apache.kafka.common.serialization.Serializer valueSerializer
        end local 2 // org.apache.kafka.common.serialization.Serializer keySerializer
        end local 1 // java.util.Map config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0            vertx  Lio/vertx/core/Vertx;
            0    2     1           config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    2     2    keySerializer  Lorg/apache/kafka/common/serialization/Serializer<TK;>;
            0    2     3  valueSerializer  Lorg/apache/kafka/common/serialization/Serializer<TV;>;
            1    2     4           stream  Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lorg/apache/kafka/common/serialization/Serializer<TK;>;Lorg/apache/kafka/common/serialization/Serializer<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
                 Name  Flags
      vertx            
      config           
      keySerializer    
      valueSerializer  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> create(io.vertx.core.Vertx, java.util.Map<java.lang.String, java.lang.String>, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.util.Map config
        start local 2 // java.lang.Class keyType
        start local 3 // java.lang.Class valueType
         0: .line 178
            aload 0 /* vertx */
            new java.util.HashMap
            dup
            aload 1 /* config */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            aload 2 /* keyType */
            aload 3 /* valueType */
            invokestatic io.vertx.kafka.client.producer.KafkaWriteStream.create:(Lio/vertx/core/Vertx;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaWriteStream;
            astore 4 /* stream */
        start local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
         1: .line 179
            new io.vertx.kafka.client.producer.impl.KafkaProducerImpl
            dup
            aload 4 /* stream */
            invokespecial io.vertx.kafka.client.producer.impl.KafkaProducerImpl.<init>:(Lio/vertx/kafka/client/producer/KafkaWriteStream;)V
            invokevirtual io.vertx.kafka.client.producer.impl.KafkaProducerImpl.registerCloseHook:()Lio/vertx/kafka/client/producer/impl/KafkaProducerImpl;
            areturn
        end local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
        end local 3 // java.lang.Class valueType
        end local 2 // java.lang.Class keyType
        end local 1 // java.util.Map config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0      vertx  Lio/vertx/core/Vertx;
            0    2     1     config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    2     2    keyType  Ljava/lang/Class<TK;>;
            0    2     3  valueType  Ljava/lang/Class<TV;>;
            1    2     4     stream  Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    MethodParameters:
           Name  Flags
      vertx      
      config     
      keyType    
      valueType  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> create(io.vertx.core.Vertx, java.util.Properties);
    descriptor: (Lio/vertx/core/Vertx;Ljava/util/Properties;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.util.Properties config
         0: .line 191
            aload 0 /* vertx */
            aload 1 /* config */
            invokestatic io.vertx.kafka.client.producer.KafkaWriteStream.create:(Lio/vertx/core/Vertx;Ljava/util/Properties;)Lio/vertx/kafka/client/producer/KafkaWriteStream;
            astore 2 /* stream */
        start local 2 // io.vertx.kafka.client.producer.KafkaWriteStream stream
         1: .line 192
            new io.vertx.kafka.client.producer.impl.KafkaProducerImpl
            dup
            aload 2 /* stream */
            invokespecial io.vertx.kafka.client.producer.impl.KafkaProducerImpl.<init>:(Lio/vertx/kafka/client/producer/KafkaWriteStream;)V
            invokevirtual io.vertx.kafka.client.producer.impl.KafkaProducerImpl.registerCloseHook:()Lio/vertx/kafka/client/producer/impl/KafkaProducerImpl;
            areturn
        end local 2 // io.vertx.kafka.client.producer.KafkaWriteStream stream
        end local 1 // java.util.Properties config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   vertx  Lio/vertx/core/Vertx;
            0    2     1  config  Ljava/util/Properties;
            1    2     2  stream  Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/util/Properties;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
        Name  Flags
      vertx   
      config  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> create(io.vertx.core.Vertx, java.util.Properties, org.apache.kafka.common.serialization.Serializer<K>, org.apache.kafka.common.serialization.Serializer<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/util/Properties;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.util.Properties config
        start local 2 // org.apache.kafka.common.serialization.Serializer keySerializer
        start local 3 // org.apache.kafka.common.serialization.Serializer valueSerializer
         0: .line 206
            aload 0 /* vertx */
            aload 1 /* config */
            aload 2 /* keySerializer */
            aload 3 /* valueSerializer */
            invokestatic io.vertx.kafka.client.producer.KafkaWriteStream.create:(Lio/vertx/core/Vertx;Ljava/util/Properties;Lorg/apache/kafka/common/serialization/Serializer;Lorg/apache/kafka/common/serialization/Serializer;)Lio/vertx/kafka/client/producer/KafkaWriteStream;
            astore 4 /* stream */
        start local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
         1: .line 207
            new io.vertx.kafka.client.producer.impl.KafkaProducerImpl
            dup
            aload 4 /* stream */
            invokespecial io.vertx.kafka.client.producer.impl.KafkaProducerImpl.<init>:(Lio/vertx/kafka/client/producer/KafkaWriteStream;)V
            invokevirtual io.vertx.kafka.client.producer.impl.KafkaProducerImpl.registerCloseHook:()Lio/vertx/kafka/client/producer/impl/KafkaProducerImpl;
            areturn
        end local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
        end local 3 // org.apache.kafka.common.serialization.Serializer valueSerializer
        end local 2 // org.apache.kafka.common.serialization.Serializer keySerializer
        end local 1 // java.util.Properties config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0            vertx  Lio/vertx/core/Vertx;
            0    2     1           config  Ljava/util/Properties;
            0    2     2    keySerializer  Lorg/apache/kafka/common/serialization/Serializer<TK;>;
            0    2     3  valueSerializer  Lorg/apache/kafka/common/serialization/Serializer<TV;>;
            1    2     4           stream  Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/util/Properties;Lorg/apache/kafka/common/serialization/Serializer<TK;>;Lorg/apache/kafka/common/serialization/Serializer<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
                 Name  Flags
      vertx            
      config           
      keySerializer    
      valueSerializer  

  public static <K, V> io.vertx.kafka.client.producer.KafkaProducer<K, V> create(io.vertx.core.Vertx, java.util.Properties, java.lang.Class<K>, java.lang.Class<V>);
    descriptor: (Lio/vertx/core/Vertx;Ljava/util/Properties;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.util.Properties config
        start local 2 // java.lang.Class keyType
        start local 3 // java.lang.Class valueType
         0: .line 221
            aload 0 /* vertx */
            aload 1 /* config */
            aload 2 /* keyType */
            aload 3 /* valueType */
            invokestatic io.vertx.kafka.client.producer.KafkaWriteStream.create:(Lio/vertx/core/Vertx;Ljava/util/Properties;Ljava/lang/Class;Ljava/lang/Class;)Lio/vertx/kafka/client/producer/KafkaWriteStream;
            astore 4 /* stream */
        start local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
         1: .line 222
            new io.vertx.kafka.client.producer.impl.KafkaProducerImpl
            dup
            aload 4 /* stream */
            invokespecial io.vertx.kafka.client.producer.impl.KafkaProducerImpl.<init>:(Lio/vertx/kafka/client/producer/KafkaWriteStream;)V
            invokevirtual io.vertx.kafka.client.producer.impl.KafkaProducerImpl.registerCloseHook:()Lio/vertx/kafka/client/producer/impl/KafkaProducerImpl;
            areturn
        end local 4 // io.vertx.kafka.client.producer.KafkaWriteStream stream
        end local 3 // java.lang.Class valueType
        end local 2 // java.lang.Class keyType
        end local 1 // java.util.Properties config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0      vertx  Lio/vertx/core/Vertx;
            0    2     1     config  Ljava/util/Properties;
            0    2     2    keyType  Ljava/lang/Class<TK;>;
            0    2     3  valueType  Ljava/lang/Class<TV;>;
            1    2     4     stream  Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lio/vertx/core/Vertx;Ljava/util/Properties;Ljava/lang/Class<TK;>;Ljava/lang/Class<TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
           Name  Flags
      vertx      
      config     
      keyType    
      valueType  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      handler  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> write(io.vertx.kafka.client.producer.KafkaProducerRecord<K, V>);
    descriptor: (Lio/vertx/kafka/client/producer/KafkaProducerRecord;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/kafka/client/producer/KafkaProducerRecord<TK;TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                     Name  Flags
      kafkaProducerRecord  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> setWriteQueueMaxSize(int);
    descriptor: (I)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
      Name  Flags
      i     

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

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> drainHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      handler  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> write(io.vertx.kafka.client.producer.KafkaProducerRecord<K, V>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/kafka/client/producer/KafkaProducerRecord;Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/kafka/client/producer/KafkaProducerRecord<TK;TV;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    MethodParameters:
         Name  Flags
      data     
      handler  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> send(io.vertx.kafka.client.producer.KafkaProducerRecord<K, V>);
    descriptor: (Lio/vertx/kafka/client/producer/KafkaProducerRecord;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/kafka/client/producer/KafkaProducerRecord<TK;TV;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
        Name  Flags
      record  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> send(io.vertx.kafka.client.producer.KafkaProducerRecord<K, V>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.kafka.client.producer.RecordMetadata>>);
    descriptor: (Lio/vertx/kafka/client/producer/KafkaProducerRecord;Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/kafka/client/producer/KafkaProducerRecord<TK;TV;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/kafka/client/producer/RecordMetadata;>;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      record   
      handler  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> partitionsFor(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<io.vertx.kafka.client.common.PartitionInfo>>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/kafka/client/common/PartitionInfo;>;>;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      topic    
      handler  

  public abstract io.vertx.kafka.client.producer.KafkaProducer<K, V> flush(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/kafka/client/producer/KafkaProducer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                   Name  Flags
      completionHandler  

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

  public abstract void close(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  public abstract void close(long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (JLio/vertx/core/Handler;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      timeout            
      completionHandler  

  public abstract io.vertx.kafka.client.producer.KafkaWriteStream<K, V> asStream();
    descriptor: ()Lio/vertx/kafka/client/producer/KafkaWriteStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lio/vertx/kafka/client/producer/KafkaWriteStream<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()

  public abstract org.apache.kafka.clients.producer.Producer<K, V> unwrap();
    descriptor: ()Lorg/apache/kafka/clients/producer/Producer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/apache/kafka/clients/producer/Producer<TK;TV;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()

  public io.vertx.core.streams.WriteStream write(java.lang.Object, io.vertx.core.Handler);
    descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.kafka.client.producer.KafkaProducerRecord
            aload 2
            invokeinterface io.vertx.kafka.client.producer.KafkaProducer.write:(Lio/vertx/kafka/client/producer/KafkaProducerRecord;Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.WriteStream write(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.kafka.client.producer.KafkaProducerRecord
            invokeinterface io.vertx.kafka.client.producer.KafkaProducer.write:(Lio/vertx/kafka/client/producer/KafkaProducerRecord;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.WriteStream setWriteQueueMaxSize(int);
    descriptor: (I)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokeinterface io.vertx.kafka.client.producer.KafkaProducer.setWriteQueueMaxSize:(I)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokeinterface io.vertx.kafka.client.producer.KafkaProducer.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.WriteStream exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokeinterface io.vertx.kafka.client.producer.KafkaProducer.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.WriteStream drainHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokeinterface io.vertx.kafka.client.producer.KafkaProducer.drainHandler:(Lio/vertx/core/Handler;)Lio/vertx/kafka/client/producer/KafkaProducer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/core/streams/WriteStream<Lio/vertx/kafka/client/producer/KafkaProducerRecord<TK;TV;>;>;
SourceFile: "KafkaProducer.java"
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()