public class io.vertx.codegen.ClassModel implements io.vertx.codegen.Model
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.codegen.ClassModel
  super_class: java.lang.Object
{
  public static final java.lang.String VERTX_READ_STREAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "io.vertx.core.streams.ReadStream"

  public static final java.lang.String VERTX_WRITE_STREAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "io.vertx.core.streams.WriteStream"

  public static final java.lang.String VERTX_ASYNC_RESULT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "io.vertx.core.AsyncResult"

  public static final java.lang.String VERTX_HANDLER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "io.vertx.core.Handler"

  public static final java.lang.String JSON_OBJECT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "io.vertx.core.json.JsonObject"

  public static final java.lang.String JSON_ARRAY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "io.vertx.core.json.JsonArray"

  public static final java.lang.String VERTX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "io.vertx.core.Vertx"

  public static final java.lang.String ITERABLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang.Iterable"

  public static final java.lang.String ITERATOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.util.Iterator"

  public static final java.lang.String FUNCTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.util.function.Function"

  private static final java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.vertx.codegen.type.ClassTypeInfo ASYNC_RESULT_TYPE;
    descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.vertx.codegen.type.ClassTypeInfo HANDLER_TYPE;
    descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected final javax.annotation.processing.ProcessingEnvironment env;
    descriptor: Ljavax/annotation/processing/ProcessingEnvironment;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory;
    descriptor: Lio/vertx/codegen/type/AnnotationValueInfoFactory;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final javax.annotation.processing.Messager messager;
    descriptor: Ljavax/annotation/processing/Messager;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final io.vertx.codegen.type.TypeMirrorFactory typeFactory;
    descriptor: Lio/vertx/codegen/type/TypeMirrorFactory;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final io.vertx.codegen.doc.Doc$Factory docFactory;
    descriptor: Lio/vertx/codegen/doc/Doc$Factory;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final javax.lang.model.element.TypeElement modelElt;
    descriptor: Ljavax/lang/model/element/TypeElement;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final javax.lang.model.util.Elements elementUtils;
    descriptor: Ljavax/lang/model/util/Elements;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final javax.lang.model.util.Types typeUtils;
    descriptor: Ljavax/lang/model/util/Types;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected boolean processed;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected java.util.LinkedHashMap<javax.lang.model.element.ExecutableElement, io.vertx.codegen.MethodInfo> methods;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/LinkedHashMap<Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/MethodInfo;>;

  protected java.util.LinkedHashMap<javax.lang.model.element.ExecutableElement, io.vertx.codegen.MethodInfo> anyJavaTypeMethods;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/LinkedHashMap<Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/MethodInfo;>;

  protected java.util.Set<io.vertx.codegen.MethodInfo> futureMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lio/vertx/codegen/MethodInfo;>;

  protected java.util.List<io.vertx.codegen.ConstantInfo> constants;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Lio/vertx/codegen/ConstantInfo;>;

  protected java.util.Set<io.vertx.codegen.type.ClassTypeInfo> collectedTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  protected java.util.Set<io.vertx.codegen.type.ClassTypeInfo> importedTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  protected java.util.Set<io.vertx.codegen.type.ApiTypeInfo> referencedTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/ApiTypeInfo;>;

  protected java.util.Set<io.vertx.codegen.type.ClassTypeInfo> referencedDataObjectTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  protected java.util.Set<io.vertx.codegen.type.EnumTypeInfo> referencedEnumTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/EnumTypeInfo;>;

  protected boolean concrete;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.type.ClassTypeInfo type;
    descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String ifaceSimpleName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String ifaceFQCN;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String ifacePackageName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String ifaceComment;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.doc.Doc doc;
    descriptor: Lio/vertx/codegen/doc/Doc;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.List<io.vertx.codegen.type.TypeInfo> superTypes;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;

  protected io.vertx.codegen.type.TypeInfo concreteSuperType;
    descriptor: Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0004) ACC_PROTECTED

  private java.util.List<io.vertx.codegen.type.TypeInfo> superTypeArguments;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;

  protected java.util.List<io.vertx.codegen.type.TypeInfo> abstractSuperTypes;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;

  protected io.vertx.codegen.type.TypeInfo handlerArg;
    descriptor: Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.type.TypeInfo readStreamArg;
    descriptor: Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.type.TypeInfo writeStreamArg;
    descriptor: Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.type.TypeInfo iterableArg;
    descriptor: Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.type.TypeInfo iteratorArg;
    descriptor: Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.type.TypeInfo[] functionArgs;
    descriptor: [Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Map<java.lang.String, java.util.List<io.vertx.codegen.MethodInfo>> methodMap;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;>;

  protected java.util.Map<java.lang.String, java.util.List<io.vertx.codegen.type.AnnotationValueInfo>> methodAnnotationsMap;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/type/AnnotationValueInfo;>;>;

  protected java.util.List<io.vertx.codegen.type.AnnotationValueInfo> annotations;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Lio/vertx/codegen/type/AnnotationValueInfo;>;

  protected boolean deprecated;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.codegen.doc.Text deprecatedDesc;
    descriptor: Lio/vertx/codegen/doc/Text;
    flags: (0x0004) ACC_PROTECTED

  private static volatile int[] $SWITCH_TABLE$io$vertx$codegen$type$ClassKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$javax$lang$model$element$ElementKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=14, locals=0, args_size=0
         0: .line 58
            ldc Lio/vertx/codegen/ClassModel;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic io.vertx.codegen.ClassModel.logger:Ljava/util/logging/Logger;
         1: .line 60
            new io.vertx.codegen.type.ClassTypeInfo
            dup
            getstatic io.vertx.codegen.type.ClassKind.ASYNC_RESULT:Lio/vertx/codegen/type/ClassKind;
            ldc "io.vertx.core.AsyncResult"
            aconst_null
            iconst_0
            iconst_1
            anewarray io.vertx.codegen.TypeParamInfo$Class
            dup
            iconst_0
            new io.vertx.codegen.TypeParamInfo$Class
            dup
            ldc "io.vertx.core.AsyncResult"
            iconst_0
            ldc "T"
            invokespecial io.vertx.codegen.TypeParamInfo$Class.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aconst_null
            invokespecial io.vertx.codegen.type.ClassTypeInfo.<init>:(Lio/vertx/codegen/type/ClassKind;Ljava/lang/String;Lio/vertx/codegen/ModuleInfo;ZLjava/util/List;Lio/vertx/codegen/type/DataObjectInfo;)V
            putstatic io.vertx.codegen.ClassModel.ASYNC_RESULT_TYPE:Lio/vertx/codegen/type/ClassTypeInfo;
         2: .line 61
            new io.vertx.codegen.type.ClassTypeInfo
            dup
            getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
            ldc "io.vertx.core.Handler"
            aconst_null
            iconst_0
            iconst_1
            anewarray io.vertx.codegen.TypeParamInfo$Class
            dup
            iconst_0
            new io.vertx.codegen.TypeParamInfo$Class
            dup
            ldc "io.vertx.core.Handler"
            iconst_0
            ldc "T"
            invokespecial io.vertx.codegen.TypeParamInfo$Class.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aconst_null
            invokespecial io.vertx.codegen.type.ClassTypeInfo.<init>:(Lio/vertx/codegen/type/ClassKind;Ljava/lang/String;Lio/vertx/codegen/ModuleInfo;ZLjava/util/List;Lio/vertx/codegen/type/DataObjectInfo;)V
            putstatic io.vertx.codegen.ClassModel.HANDLER_TYPE:Lio/vertx/codegen/type/ClassTypeInfo;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.annotation.processing.ProcessingEnvironment, io.vertx.codegen.type.TypeMirrorFactory, javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;Lio/vertx/codegen/type/TypeMirrorFactory;Ljavax/lang/model/element/TypeElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.annotation.processing.ProcessingEnvironment env
        start local 2 // io.vertx.codegen.type.TypeMirrorFactory typeFactory
        start local 3 // javax.lang.model.element.TypeElement modelElt
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            iconst_0
            putfield io.vertx.codegen.ClassModel.processed:Z
         2: .line 72
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
         3: .line 73
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield io.vertx.codegen.ClassModel.anyJavaTypeMethods:Ljava/util/LinkedHashMap;
         4: .line 74
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.vertx.codegen.ClassModel.futureMethods:Ljava/util/Set;
         5: .line 75
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.codegen.ClassModel.constants:Ljava/util/List;
         6: .line 76
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
         7: .line 77
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.vertx.codegen.ClassModel.importedTypes:Ljava/util/Set;
         8: .line 78
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.vertx.codegen.ClassModel.referencedTypes:Ljava/util/Set;
         9: .line 79
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.vertx.codegen.ClassModel.referencedDataObjectTypes:Ljava/util/Set;
        10: .line 80
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.vertx.codegen.ClassModel.referencedEnumTypes:Ljava/util/Set;
        11: .line 88
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.codegen.ClassModel.superTypes:Ljava/util/List;
        12: .line 91
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.codegen.ClassModel.abstractSuperTypes:Ljava/util/List;
        13: .line 100
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield io.vertx.codegen.ClassModel.methodAnnotationsMap:Ljava/util/Map;
        14: .line 106
            aload 0 /* this */
            aload 1 /* env */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
            putfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
        15: .line 107
            aload 0 /* this */
            aload 1 /* env */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            putfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
        16: .line 108
            aload 0 /* this */
            aload 1 /* env */
            putfield io.vertx.codegen.ClassModel.env:Ljavax/annotation/processing/ProcessingEnvironment;
        17: .line 109
            aload 0 /* this */
            aload 2 /* typeFactory */
            putfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
        18: .line 110
            aload 0 /* this */
            new io.vertx.codegen.doc.Doc$Factory
            dup
            aload 1 /* env */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 2 /* typeFactory */
            aload 3 /* modelElt */
            invokespecial io.vertx.codegen.doc.Doc$Factory.<init>:(Ljavax/annotation/processing/Messager;Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;Lio/vertx/codegen/type/TypeMirrorFactory;Ljavax/lang/model/element/TypeElement;)V
            putfield io.vertx.codegen.ClassModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
        19: .line 111
            aload 0 /* this */
            aload 1 /* env */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            putfield io.vertx.codegen.ClassModel.messager:Ljavax/annotation/processing/Messager;
        20: .line 112
            aload 0 /* this */
            aload 3 /* modelElt */
            putfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
        21: .line 113
            aload 0 /* this */
            new io.vertx.codegen.type.AnnotationValueInfoFactory
            dup
            aload 2 /* typeFactory */
            invokespecial io.vertx.codegen.type.AnnotationValueInfoFactory.<init>:(Lio/vertx/codegen/type/TypeMirrorFactory;)V
            putfield io.vertx.codegen.ClassModel.annotationValueInfoFactory:Lio/vertx/codegen/type/AnnotationValueInfoFactory;
        22: .line 114
            aload 0 /* this */
            aload 3 /* modelElt */
            ldc Ljava/lang/Deprecated;
            invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 23
            iconst_1
            goto 24
      StackMap locals: io.vertx.codegen.ClassModel javax.annotation.processing.ProcessingEnvironment io.vertx.codegen.type.TypeMirrorFactory javax.lang.model.element.TypeElement
      StackMap stack: io.vertx.codegen.ClassModel
        23: iconst_0
      StackMap locals: io.vertx.codegen.ClassModel javax.annotation.processing.ProcessingEnvironment io.vertx.codegen.type.TypeMirrorFactory javax.lang.model.element.TypeElement
      StackMap stack: io.vertx.codegen.ClassModel int
        24: putfield io.vertx.codegen.ClassModel.deprecated:Z
        25: .line 115
            return
        end local 3 // javax.lang.model.element.TypeElement modelElt
        end local 2 // io.vertx.codegen.type.TypeMirrorFactory typeFactory
        end local 1 // javax.annotation.processing.ProcessingEnvironment env
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lio/vertx/codegen/ClassModel;
            0   26     1          env  Ljavax/annotation/processing/ProcessingEnvironment;
            0   26     2  typeFactory  Lio/vertx/codegen/type/TypeMirrorFactory;
            0   26     3     modelElt  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
             Name  Flags
      env          
      typeFactory  
      modelElt     

  public java.lang.String getKind();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 119
            ldc "class"
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.lang.String getFqn();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 124
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getName:()Ljava/lang/String;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public javax.lang.model.element.TypeElement getElement();
    descriptor: ()Ljavax/lang/model/element/TypeElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 128
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.util.List<io.vertx.codegen.MethodInfo> getMethods();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 132
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;

  public java.util.List<io.vertx.codegen.MethodInfo> getAnyJavaTypeMethods();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 136
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.anyJavaTypeMethods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;

  public java.util.List<io.vertx.codegen.MethodInfo> getStaticMethods();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 140
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/MethodInfo.isStaticMethod()Z (5)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;

  public java.util.List<io.vertx.codegen.MethodInfo> getInstanceMethods();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 144
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$1(Lio/vertx/codegen/MethodInfo;)Z (6)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;

  public java.util.List<io.vertx.codegen.ConstantInfo> getConstants();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 148
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.constants:Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/ConstantInfo;>;

  public boolean isConcrete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 152
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concrete:Z
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.util.Set<io.vertx.codegen.type.ClassTypeInfo> getImportedTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 159
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.importedTypes:Ljava/util/Set;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  public java.util.Set<io.vertx.codegen.type.ApiTypeInfo> getReferencedTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 165
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.referencedTypes:Ljava/util/Set;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/Set<Lio/vertx/codegen/type/ApiTypeInfo;>;

  public java.util.Set<io.vertx.codegen.type.ClassTypeInfo> getReferencedDataObjectTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 172
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.referencedDataObjectTypes:Ljava/util/Set;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  public java.util.Set<io.vertx.codegen.type.EnumTypeInfo> getReferencedEnumTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 179
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.referencedEnumTypes:Ljava/util/Set;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/Set<Lio/vertx/codegen/type/EnumTypeInfo;>;

  public java.lang.String getIfaceSimpleName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 183
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.ifaceSimpleName:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.lang.String getIfaceFQCN();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 187
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.ifaceFQCN:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.lang.String getIfacePackageName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 191
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.ifacePackageName:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.lang.String getIfaceComment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 195
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.ifaceComment:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.doc.Doc getDoc();
    descriptor: ()Lio/vertx/codegen/doc/Doc;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 199
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.doc:Lio/vertx/codegen/doc/Doc;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.type.ClassTypeInfo getType();
    descriptor: ()Lio/vertx/codegen/type/ClassTypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 203
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.ModuleInfo getModule();
    descriptor: ()Lio/vertx/codegen/ModuleInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 207
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getModule:()Lio/vertx/codegen/ModuleInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.util.List<io.vertx.codegen.type.TypeInfo> getSuperTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 211
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.superTypes:Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;

  public io.vertx.codegen.type.TypeInfo getConcreteSuperType();
    descriptor: ()Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 215
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concreteSuperType:Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.util.List<io.vertx.codegen.type.TypeInfo> getAbstractSuperTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 219
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.abstractSuperTypes:Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;

  public java.util.Map<java.lang.String, java.util.List<io.vertx.codegen.MethodInfo>> getMethodMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 223
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methodMap:Ljava/util/Map;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;>;

  public java.util.List<io.vertx.codegen.TypeParamInfo$Class> getTypeParams();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 227
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getParams:()Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/TypeParamInfo$Class;>;

  public java.util.List<io.vertx.codegen.type.TypeInfo> getSuperTypeArguments();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 231
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.superTypeArguments:Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;

  public java.util.List<io.vertx.codegen.type.AnnotationValueInfo> getAnnotations();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 238
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.annotations:Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/type/AnnotationValueInfo;>;

  public java.util.Map<java.lang.String, java.util.List<io.vertx.codegen.type.AnnotationValueInfo>> getMethodAnnotations();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 245
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methodAnnotationsMap:Ljava/util/Map;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/type/AnnotationValueInfo;>;>;

  private void sortMethodMap(java.util.Map<java.lang.String, java.util.List<io.vertx.codegen.MethodInfo>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // java.util.Map map
         0: .line 249
            aload 1 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: io.vertx.codegen.ClassModel java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* list */
        start local 2 // java.util.List list
         2: .line 250
            aload 2 /* list */
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              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;)I
                  io/vertx/codegen/ClassModel.lambda$2(Lio/vertx/codegen/MethodInfo;)I (6)
                  (Lio/vertx/codegen/MethodInfo;)I
            invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
        end local 2 // java.util.List list
         3: .line 249
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 252
            return
        end local 1 // java.util.Map map
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/codegen/ClassModel;
            0    5     1   map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;>;
            2    3     2  list  Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;>;)V
    MethodParameters:
      Name  Flags
      map   

  private void determineApiTypes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 255
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         1: .line 256
            invokedynamic apply()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/codegen/type/ClassTypeInfo.getRaw()Lio/vertx/codegen/type/ClassTypeInfo; (5)
                  (Lio/vertx/codegen/type/ClassTypeInfo;)Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 257
            ldc Lio/vertx/codegen/type/ClassTypeInfo;
            invokestatic io.vertx.codegen.Helper.instanceOf:(Ljava/lang/Class;)Ljava/util/function/Function;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 258
            aload 0 /* this */
            invokedynamic test(Lio/vertx/codegen/ClassModel;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$4(Lio/vertx/codegen/type/ClassTypeInfo;)Z (7)
                  (Lio/vertx/codegen/type/ClassTypeInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         4: .line 259
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
         5: .line 255
            putfield io.vertx.codegen.ClassModel.importedTypes:Ljava/util/Set;
         6: .line 261
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         7: .line 262
            invokedynamic apply()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/codegen/type/ClassTypeInfo.getRaw()Lio/vertx/codegen/type/ClassTypeInfo; (5)
                  (Lio/vertx/codegen/type/ClassTypeInfo;)Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         8: .line 263
            ldc Lio/vertx/codegen/type/ApiTypeInfo;
            invokestatic io.vertx.codegen.Helper.instanceOf:(Ljava/lang/Class;)Ljava/util/function/Function;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         9: .line 264
            aload 0 /* this */
            invokedynamic test(Lio/vertx/codegen/ClassModel;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$6(Lio/vertx/codegen/type/ApiTypeInfo;)Z (7)
                  (Lio/vertx/codegen/type/ApiTypeInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        10: .line 265
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
        11: .line 261
            putfield io.vertx.codegen.ClassModel.referencedTypes:Ljava/util/Set;
        12: .line 267
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        13: .line 268
            invokedynamic apply()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/codegen/type/ClassTypeInfo.getRaw()Lio/vertx/codegen/type/ClassTypeInfo; (5)
                  (Lio/vertx/codegen/type/ClassTypeInfo;)Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        14: .line 269
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/type/TypeInfo.isDataObjectHolder()Z (5)
                  (Lio/vertx/codegen/type/ClassTypeInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        15: .line 270
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
        16: .line 267
            putfield io.vertx.codegen.ClassModel.referencedDataObjectTypes:Ljava/util/Set;
        17: .line 272
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        18: .line 273
            invokedynamic apply()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/codegen/type/ClassTypeInfo.getRaw()Lio/vertx/codegen/type/ClassTypeInfo; (5)
                  (Lio/vertx/codegen/type/ClassTypeInfo;)Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        19: .line 274
            ldc Lio/vertx/codegen/type/EnumTypeInfo;
            invokestatic io.vertx.codegen.Helper.instanceOf:(Ljava/lang/Class;)Ljava/util/function/Function;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        20: .line 275
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$10(Lio/vertx/codegen/type/EnumTypeInfo;)Z (6)
                  (Lio/vertx/codegen/type/EnumTypeInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        21: .line 276
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
        22: .line 272
            putfield io.vertx.codegen.ClassModel.referencedEnumTypes:Ljava/util/Set;
        23: .line 277
            return
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lio/vertx/codegen/ClassModel;

  public boolean process();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 280
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.processed:Z
            ifne 7
         1: .line 281
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokevirtual io.vertx.codegen.ClassModel.traverseType:(Ljavax/lang/model/element/Element;)V
         2: .line 282
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.determineApiTypes:()V
         3: .line 283
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.processTypeAnnotations:()V
         4: .line 284
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.logNonFutures:()V
         5: .line 285
            aload 0 /* this */
            iconst_1
            putfield io.vertx.codegen.ClassModel.processed:Z
         6: .line 286
            iconst_1
            ireturn
         7: .line 288
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/codegen/ClassModel;

  private void logNonFutures();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 293
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
         1: .line 294
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         2: .line 295
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$11(Lio/vertx/codegen/MethodInfo;)Z (6)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 296
            aload 0 /* this */
            invokedynamic test(Lio/vertx/codegen/ClassModel;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$12(Lio/vertx/codegen/MethodInfo;)Z (7)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         4: .line 297
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/ClassModel;)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
                  io/vertx/codegen/ClassModel.lambda$13(Lio/vertx/codegen/MethodInfo;)V (7)
                  (Lio/vertx/codegen/MethodInfo;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         5: .line 300
            return
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/codegen/ClassModel;

  private void processTypeAnnotations();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 303
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
         1: .line 304
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.util.Elements.getAllAnnotationMirrors:(Ljavax/lang/model/element/Element;)Ljava/util/List;
         2: .line 305
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         3: .line 306
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.annotationValueInfoFactory:Lio/vertx/codegen/type/AnnotationValueInfoFactory;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lio/vertx/codegen/type/AnnotationValueInfoFactory;)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/codegen/type/AnnotationValueInfoFactory.processAnnotation(Ljavax/lang/model/element/AnnotationMirror;)Lio/vertx/codegen/type/AnnotationValueInfo; (5)
                  (Ljavax/lang/model/element/AnnotationMirror;)Lio/vertx/codegen/type/AnnotationValueInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 307
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         5: .line 303
            putfield io.vertx.codegen.ClassModel.annotations:Ljava/util/List;
         6: .line 308
            return
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/codegen/ClassModel;

  private void traverseType(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=15, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.element.Element elem
         0: .line 311
            aload 1 /* elem */
            invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.DeclaredType
            astore 2 /* declaredType */
        start local 2 // javax.lang.model.type.DeclaredType declaredType
         1: .line 313
            invokestatic io.vertx.codegen.ClassModel.$SWITCH_TABLE$javax$lang$model$element$ElementKind:()[I
            aload 1 /* elem */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 2
                    3: 2
                    4: 72
                    5: 3
              default: 72
          }
         2: .line 316
      StackMap locals: javax.lang.model.type.DeclaredType
      StackMap stack:
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            new java.lang.StringBuilder
            dup
            ldc "@VertxGen can only be used with interfaces or enums in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* declaredType */
            invokeinterface javax.lang.model.type.DeclaredType.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
         3: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.ifaceFQCN:Ljava/lang/String;
            ifnull 5
         4: .line 320
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            ldc "Can only have one interface per file"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
         5: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            putfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
         6: .line 323
            aload 0 /* this */
            ldc "@VertxGen"
            invokestatic io.vertx.codegen.Helper.checkUnderModule:(Lio/vertx/codegen/Model;Ljava/lang/String;)V
         7: .line 324
            aload 0 /* this */
            aload 2 /* declaredType */
            invokeinterface javax.lang.model.type.DeclaredType.toString:()Ljava/lang/String;
            putfield io.vertx.codegen.ClassModel.ifaceFQCN:Ljava/lang/String;
         8: .line 325
            aload 0 /* this */
            aload 1 /* elem */
            invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            putfield io.vertx.codegen.ClassModel.ifaceSimpleName:Ljava/lang/String;
         9: .line 326
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* elem */
            invokeinterface javax.lang.model.util.Elements.getPackageOf:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/PackageElement;
            invokeinterface javax.lang.model.element.PackageElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            putfield io.vertx.codegen.ClassModel.ifacePackageName:Ljava/lang/String;
        10: .line 327
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* elem */
            invokeinterface javax.lang.model.util.Elements.getDocComment:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
            putfield io.vertx.codegen.ClassModel.ifaceComment:Ljava/lang/String;
        11: .line 328
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
            aload 1 /* elem */
            invokevirtual io.vertx.codegen.doc.Doc$Factory.createDoc:(Ljavax/lang/model/element/Element;)Lio/vertx/codegen/doc/Doc;
            putfield io.vertx.codegen.ClassModel.doc:Lio/vertx/codegen/doc/Doc;
        12: .line 329
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.doc:Lio/vertx/codegen/doc/Doc;
            ifnull 14
        13: .line 330
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.doc:Lio/vertx/codegen/doc/Doc;
            invokevirtual io.vertx.codegen.doc.Doc.getBlockTags:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$15(Lio/vertx/codegen/doc/Tag;)Z (6)
                  (Lio/vertx/codegen/doc/Tag;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/ClassModel;)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
                  io/vertx/codegen/ClassModel.lambda$16(Lio/vertx/codegen/doc/Tag;)V (7)
                  (Lio/vertx/codegen/doc/Tag;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        14: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.deprecated:Z
            ifne 15
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.deprecatedDesc:Lio/vertx/codegen/doc/Text;
            ifnonnull 15
            iconst_0
            goto 16
      StackMap locals:
      StackMap stack: io.vertx.codegen.ClassModel
        15: iconst_1
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType
      StackMap stack: io.vertx.codegen.ClassModel int
        16: putfield io.vertx.codegen.ClassModel.deprecated:Z
        17: .line 334
            aload 0 /* this */
            aload 1 /* elem */
            ldc Lio/vertx/codegen/annotations/VertxGen;
            invokeinterface javax.lang.model.element.Element.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 18
            aload 1 /* elem */
            ldc Lio/vertx/codegen/annotations/VertxGen;
            invokeinterface javax.lang.model.element.Element.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast io.vertx.codegen.annotations.VertxGen
            invokeinterface io.vertx.codegen.annotations.VertxGen.concrete:()Z
            ifne 18
            iconst_0
            goto 19
      StackMap locals:
      StackMap stack: io.vertx.codegen.ClassModel
        18: iconst_1
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType
      StackMap stack: io.vertx.codegen.ClassModel int
        19: putfield io.vertx.codegen.ClassModel.concrete:Z
        20: .line 335
            aload 2 /* declaredType */
            astore 3 /* tm */
        start local 3 // javax.lang.model.type.DeclaredType tm
        21: .line 336
            aload 3 /* tm */
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            astore 4 /* typeArgs */
        start local 4 // java.util.List typeArgs
        22: .line 337
            aload 4 /* typeArgs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 27
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.DeclaredType java.util.List top java.util.Iterator
      StackMap stack:
        23: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 5 /* typeArg */
        start local 5 // javax.lang.model.type.TypeMirror typeArg
        24: .line 338
            aload 5 /* typeArg */
            checkcast javax.lang.model.type.TypeVariable
            astore 7 /* varTypeArg */
        start local 7 // javax.lang.model.type.TypeVariable varTypeArg
        25: .line 339
            aload 0 /* this */
            aload 7 /* varTypeArg */
            invokeinterface javax.lang.model.type.TypeVariable.getUpperBound:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual io.vertx.codegen.ClassModel.isObjectBound:(Ljavax/lang/model/type/TypeMirror;)Z
            ifne 27
        26: .line 340
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            new java.lang.StringBuilder
            dup
            ldc "Type variable bounds not supported "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* varTypeArg */
            invokeinterface javax.lang.model.type.TypeVariable.getUpperBound:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 7 // javax.lang.model.type.TypeVariable varTypeArg
        end local 5 // javax.lang.model.type.TypeMirror typeArg
        27: .line 337
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        28: .line 343
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 3 /* tm */
            invokeinterface javax.lang.model.util.Types.directSupertypes:(Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
            astore 5 /* st */
        start local 5 // java.util.List st
        29: .line 344
            aload 5 /* st */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 51
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.DeclaredType java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        30: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 6 /* tmSuper */
        start local 6 // javax.lang.model.type.TypeMirror tmSuper
        31: .line 345
            aload 6 /* tmSuper */
            invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 51
        32: .line 348
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 6 /* tmSuper */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 8 /* superTypeInfo */
        start local 8 // io.vertx.codegen.type.TypeInfo superTypeInfo
        33: .line 349
            goto 36
        end local 8 // io.vertx.codegen.type.TypeInfo superTypeInfo
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.DeclaredType java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Iterator
      StackMap stack: java.lang.IllegalArgumentException
        34: astore 9 /* e */
        start local 9 // java.lang.IllegalArgumentException e
        35: .line 350
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            aload 9 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.IllegalArgumentException e
        start local 8 // io.vertx.codegen.type.TypeInfo superTypeInfo
        36: .line 352
      StackMap locals: io.vertx.codegen.type.TypeInfo
      StackMap stack:
            invokestatic io.vertx.codegen.ClassModel.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:()[I
            aload 8 /* superTypeInfo */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iaload
            tableswitch { // 13 - 13
                   13: 37
              default: 50
          }
        37: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 6 /* tmSuper */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            checkcast io.vertx.codegen.type.ApiTypeInfo
            astore 9 /* superType */
        start local 9 // io.vertx.codegen.type.ApiTypeInfo superType
        38: .line 356
            aload 9 /* superType */
            invokevirtual io.vertx.codegen.type.ApiTypeInfo.isConcrete:()Z
            ifeq 45
        39: .line 357
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concrete:Z
            ifeq 42
        40: .line 358
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concreteSuperType:Lio/vertx/codegen/type/TypeInfo;
            ifnull 43
        41: .line 359
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            ldc "A concrete interface cannot extend more than one concrete interfaces"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        42: .line 362
      StackMap locals: io.vertx.codegen.type.ApiTypeInfo
      StackMap stack:
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            ldc "A abstract interface cannot extend a concrete interface"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        43: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* superTypeInfo */
            putfield io.vertx.codegen.ClassModel.concreteSuperType:Lio/vertx/codegen/type/TypeInfo;
        44: .line 365
            goto 46
        45: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.abstractSuperTypes:Ljava/util/List;
            aload 8 /* superTypeInfo */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.superTypes:Ljava/util/List;
            aload 8 /* superTypeInfo */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // io.vertx.codegen.type.ApiTypeInfo superType
        47: .line 369
            goto 50
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.DeclaredType java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Iterator io.vertx.codegen.type.TypeInfo
      StackMap stack: java.lang.Exception
        48: astore 9 /* e */
        start local 9 // java.lang.Exception e
        49: .line 370
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            aload 9 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.Exception e
        50: .line 375
      StackMap locals:
      StackMap stack:
            aload 8 /* superTypeInfo */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokevirtual io.vertx.codegen.type.TypeInfo.collectImports:(Ljava/util/Collection;)V
        end local 8 // io.vertx.codegen.type.TypeInfo superTypeInfo
        end local 6 // javax.lang.model.type.TypeMirror tmSuper
        51: .line 344
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.DeclaredType java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        52: .line 378
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concreteSuperType:Lio/vertx/codegen/type/TypeInfo;
            ifnull 72
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concreteSuperType:Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.isParameterized:()Z
            ifeq 72
        53: .line 379
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.DeclaredType
            astore 3 /* tm */
        54: .line 380
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 3 /* tm */
            invokeinterface javax.lang.model.util.Types.directSupertypes:(Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
            astore 5 /* st */
        55: .line 381
            aload 5 /* st */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 71
      StackMap locals:
      StackMap stack:
        56: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 6 /* tmSuper */
        start local 6 // javax.lang.model.type.TypeMirror tmSuper
        57: .line 382
            aload 6 /* tmSuper */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
            if_acmpne 71
        58: .line 383
            aload 6 /* tmSuper */
            checkcast javax.lang.model.type.DeclaredType
            astore 8 /* abc */
        start local 8 // javax.lang.model.type.DeclaredType abc
        59: .line 384
            aload 8 /* abc */
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            astore 9 /* tt */
        start local 9 // javax.lang.model.element.TypeElement tt
        60: .line 385
            aload 9 /* tt */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concreteSuperType:Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 71
        61: .line 386
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* list */
        start local 10 // java.util.List list
        62: .line 387
            aload 9 /* tt */
            invokeinterface javax.lang.model.element.TypeElement.getTypeParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 11 /* size */
        start local 11 // int size
        63: .line 388
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        64: goto 69
        65: .line 389
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.DeclaredType java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Iterator javax.lang.model.type.DeclaredType javax.lang.model.element.TypeElement java.util.List int int
      StackMap stack:
            aload 8 /* abc */
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 13 /* q */
        start local 13 // javax.lang.model.type.TypeMirror q
        66: .line 390
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 13 /* q */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 14 /* ti */
        start local 14 // io.vertx.codegen.type.TypeInfo ti
        67: .line 391
            aload 10 /* list */
            aload 14 /* ti */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // io.vertx.codegen.type.TypeInfo ti
        end local 13 // javax.lang.model.type.TypeMirror q
        68: .line 388
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 12 /* i */
            iload 11 /* size */
            if_icmplt 65
        end local 12 // int i
        70: .line 393
            aload 0 /* this */
            aload 10 /* list */
            putfield io.vertx.codegen.ClassModel.superTypeArguments:Ljava/util/List;
        end local 11 // int size
        end local 10 // java.util.List list
        end local 9 // javax.lang.model.element.TypeElement tt
        end local 8 // javax.lang.model.type.DeclaredType abc
        end local 6 // javax.lang.model.type.TypeMirror tmSuper
        71: .line 381
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.DeclaredType java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
        end local 5 // java.util.List st
        end local 4 // java.util.List typeArgs
        end local 3 // javax.lang.model.type.DeclaredType tm
        72: .line 402
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            ldc "io.vertx.core.Handler"
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.ClassModel.extractArg:(Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
            putfield io.vertx.codegen.ClassModel.handlerArg:Lio/vertx/codegen/type/TypeInfo;
        73: .line 403
            aload 0 /* this */
            aload 0 /* this */
            ldc "io.vertx.core.streams.ReadStream"
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.ClassModel.extractArg:(Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
            putfield io.vertx.codegen.ClassModel.readStreamArg:Lio/vertx/codegen/type/TypeInfo;
        74: .line 404
            aload 0 /* this */
            aload 0 /* this */
            ldc "io.vertx.core.streams.WriteStream"
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.ClassModel.extractArg:(Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
            putfield io.vertx.codegen.ClassModel.writeStreamArg:Lio/vertx/codegen/type/TypeInfo;
        75: .line 405
            aload 0 /* this */
            aload 0 /* this */
            ldc "java.lang.Iterable"
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.ClassModel.extractArg:(Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
            putfield io.vertx.codegen.ClassModel.iterableArg:Lio/vertx/codegen/type/TypeInfo;
        76: .line 406
            aload 0 /* this */
            aload 0 /* this */
            ldc "java.util.Iterator"
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.ClassModel.extractArg:(Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
            putfield io.vertx.codegen.ClassModel.iteratorArg:Lio/vertx/codegen/type/TypeInfo;
        77: .line 407
            aload 0 /* this */
            aload 0 /* this */
            ldc "java.util.function.Function"
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.ClassModel.extractArgs:(Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)[Lio/vertx/codegen/type/TypeInfo;
            putfield io.vertx.codegen.ClassModel.functionArgs:[Lio/vertx/codegen/type/TypeInfo;
        78: .line 410
            aload 1 /* elem */
            invokeinterface javax.lang.model.element.Element.getEnclosedElements:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 84
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType top java.util.Iterator
      StackMap stack:
        79: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            astore 3 /* enclosedElt */
        start local 3 // javax.lang.model.element.Element enclosedElt
        80: .line 411
            aload 3 /* enclosedElt */
            invokestatic io.vertx.codegen.Helper.isGenIgnore:(Ljavax/lang/model/element/Element;)Z
            ifne 84
        81: .line 412
            invokestatic io.vertx.codegen.ClassModel.$SWITCH_TABLE$javax$lang$model$element$ElementKind:()[I
            aload 3 /* enclosedElt */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iaload
            tableswitch { // 7 - 11
                    7: 82
                    8: 83
                    9: 83
                   10: 83
                   11: 82
              default: 83
          }
        82: .line 416
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.element.Element java.util.Iterator
      StackMap stack:
            goto 84
        83: .line 418
      StackMap locals:
      StackMap stack:
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            new java.lang.StringBuilder
            dup
            ldc "@VertxGen can only declare methods and not "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* declaredType */
            invokeinterface javax.lang.model.type.DeclaredType.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 3 // javax.lang.model.element.Element enclosedElt
        84: .line 410
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 79
        85: .line 423
            aload 1 /* elem */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            if_acmpne 153
        86: .line 425
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            ldc "java.lang.Object"
            invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 3 /* objectType */
        start local 3 // javax.lang.model.type.TypeMirror objectType
        87: .line 428
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* elem */
            checkcast javax.lang.model.element.TypeElement
            invokeinterface javax.lang.model.util.Elements.getAllMembers:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        88: .line 429
            aload 0 /* this */
            aload 3 /* objectType */
            invokedynamic test(Lio/vertx/codegen/ClassModel;Ljavax/lang/model/type/TypeMirror;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$17(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;)Z (7)
                  (Ljavax/lang/model/element/Element;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        89: .line 430
            getstatic io.vertx.codegen.Helper.FILTER_FIELD:Ljava/util/function/Function;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        90: .line 431
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/ClassModel;)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
                  io/vertx/codegen/ClassModel.lambda$18(Ljavax/lang/model/element/VariableElement;)V (7)
                  (Ljavax/lang/model/element/VariableElement;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        91: .line 451
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* elem */
            checkcast javax.lang.model.element.TypeElement
            invokeinterface javax.lang.model.util.Elements.getAllMembers:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        92: .line 452
            aload 0 /* this */
            aload 3 /* objectType */
            invokedynamic test(Lio/vertx/codegen/ClassModel;Ljavax/lang/model/type/TypeMirror;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$19(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;)Z (7)
                  (Ljavax/lang/model/element/Element;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        93: .line 453
            getstatic io.vertx.codegen.Helper.FILTER_METHOD:Ljava/util/function/Function;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        94: .line 454
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/ClassModel;)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
                  io/vertx/codegen/ClassModel.lambda$20(Ljavax/lang/model/element/ExecutableElement;)V (7)
                  (Ljavax/lang/model/element/ExecutableElement;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        95: .line 479
            iconst_2
            anewarray java.util.LinkedHashMap
            dup
            iconst_0
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.anyJavaTypeMethods:Ljava/util/LinkedHashMap;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 125
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.TypeMirror top java.util.Iterator
      StackMap stack:
        96: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* blah */
        start local 4 // java.util.Map blah
        97: .line 480
            aload 4 /* blah */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6 /* it */
        start local 6 // java.util.Iterator it
        98: .line 481
            goto 124
        99: .line 482
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.TypeMirror java.util.Map java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 7 /* methodInfo */
        start local 7 // io.vertx.codegen.MethodInfo methodInfo
       100: .line 483
            aload 7 /* methodInfo */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnType:()Lio/vertx/codegen/type/TypeInfo;
            astore 8 /* returnType */
        start local 8 // io.vertx.codegen.type.TypeInfo returnType
       101: .line 484
            aload 8 /* returnType */
            invokevirtual io.vertx.codegen.type.TypeInfo.isParameterized:()Z
            ifeq 124
            aload 8 /* returnType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getName:()Ljava/lang/String;
            ldc "io.vertx.core.Future"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 124
       102: .line 485
            aload 8 /* returnType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            astore 9 /* asyncType */
        start local 9 // io.vertx.codegen.type.TypeInfo asyncType
       103: .line 486
            new java.util.ArrayList
            dup
            aload 7 /* methodInfo */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 10 /* p */
        start local 10 // java.util.List p
       104: .line 487
            aload 10 /* p */
            new io.vertx.codegen.ParamInfo
            dup
       105: .line 488
            aload 10 /* p */
            invokeinterface java.util.List.size:()I
       106: .line 489
            ldc "handler"
       107: .line 490
            aconst_null
       108: .line 491
            new io.vertx.codegen.type.ParameterizedTypeInfo
            dup
       109: .line 492
            getstatic io.vertx.codegen.ClassModel.HANDLER_TYPE:Lio/vertx/codegen/type/ClassTypeInfo;
       110: .line 493
            iconst_0
       111: .line 494
            new io.vertx.codegen.type.ParameterizedTypeInfo
            dup
            getstatic io.vertx.codegen.ClassModel.ASYNC_RESULT_TYPE:Lio/vertx/codegen/type/ClassTypeInfo;
            iconst_0
            aload 9 /* asyncType */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokespecial io.vertx.codegen.type.ParameterizedTypeInfo.<init>:(Lio/vertx/codegen/type/ClassTypeInfo;ZLjava/util/List;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
       112: .line 491
            invokespecial io.vertx.codegen.type.ParameterizedTypeInfo.<init>:(Lio/vertx/codegen/type/ClassTypeInfo;ZLjava/util/List;)V
            invokespecial io.vertx.codegen.ParamInfo.<init>:(ILjava/lang/String;Lio/vertx/codegen/doc/Text;Lio/vertx/codegen/type/TypeInfo;)V
       113: .line 487
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       114: .line 495
            new io.vertx.codegen.Signature
            dup
            aload 7 /* methodInfo */
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aload 10 /* p */
            invokespecial io.vertx.codegen.Signature.<init>:(Ljava/lang/String;Ljava/util/List;)V
            astore 11 /* t */
        start local 11 // io.vertx.codegen.Signature t
       115: .line 496
            aload 4 /* blah */
       116: .line 497
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
       117: .line 498
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
       118: .line 499
            aload 7 /* methodInfo */
            invokedynamic test(Lio/vertx/codegen/MethodInfo;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$22(Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/MethodInfo;)Z (6)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
       119: .line 500
            aload 11 /* t */
            invokedynamic test(Lio/vertx/codegen/Signature;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$23(Lio/vertx/codegen/Signature;Lio/vertx/codegen/MethodInfo;)Z (6)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
       120: .line 496
            astore 12 /* opt */
        start local 12 // java.util.Optional opt
       121: .line 501
            aload 12 /* opt */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 124
       122: .line 502
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.futureMethods:Ljava/util/Set;
            aload 12 /* opt */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       123: .line 503
            aload 6 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 12 // java.util.Optional opt
        end local 11 // io.vertx.codegen.Signature t
        end local 10 // java.util.List p
        end local 9 // io.vertx.codegen.type.TypeInfo asyncType
        end local 8 // io.vertx.codegen.type.TypeInfo returnType
        end local 7 // io.vertx.codegen.MethodInfo methodInfo
       124: .line 481
      StackMap locals:
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 99
        end local 6 // java.util.Iterator it
        end local 4 // java.util.Map blah
       125: .line 479
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.TypeMirror top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 96
       126: .line 510
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.anyJavaTypeMethods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/ClassModel;)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
                  io/vertx/codegen/ClassModel.lambda$24(Ljava/util/Map$Entry;)V (7)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
       127: .line 528
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
       128: .line 529
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
       129: .line 530
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
       130: .line 531
            invokedynamic apply()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/codegen/MethodInfo.getName()Ljava/lang/String; (5)
                  (Lio/vertx/codegen/MethodInfo;)Ljava/lang/String;
            invokestatic java.util.stream.Collectors.groupingBy:(Ljava/util/function/Function;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Map
       131: .line 528
            putfield io.vertx.codegen.ClassModel.methodMap:Ljava/util/Map;
       132: .line 532
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methodMap:Ljava/util/Map;
            invokevirtual io.vertx.codegen.ClassModel.sortMethodMap:(Ljava/util/Map;)V
       133: .line 535
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methodMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 152
      StackMap locals:
      StackMap stack:
       134: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* meths */
        start local 4 // java.util.List meths
       135: .line 538
            aload 4 /* meths */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
       136: .line 539
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$26(Lio/vertx/codegen/MethodInfo;)Z (6)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
       137: .line 540
            invokedynamic apply()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/codegen/ClassModel.lambda$27(Lio/vertx/codegen/MethodInfo;)Lio/vertx/codegen/type/TypeInfo; (6)
                  (Lio/vertx/codegen/MethodInfo;)Lio/vertx/codegen/type/TypeInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
       138: .line 541
            invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
       139: .line 542
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  io/vertx/codegen/ClassModel.lambda$28(I)[Lio/vertx/codegen/type/TypeInfo; (6)
                  (I)[Lio/vertx/codegen/type/TypeInfo;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast io.vertx.codegen.type.TypeInfo[]
       140: .line 538
            astore 6 /* returnTypes */
        start local 6 // io.vertx.codegen.type.TypeInfo[] returnTypes
       141: .line 543
            aload 6 /* returnTypes */
            arraylength
            iconst_1
            if_icmple 145
       142: .line 544
            new io.vertx.codegen.GenException
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            new java.lang.StringBuilder
            dup
            ldc "Overloaded method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* meths */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must have the same return type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       143: .line 545
            aload 6 /* returnTypes */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* returnTypes */
            iconst_1
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       144: .line 544
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
       145: .line 549
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.TypeMirror java.util.List java.util.Iterator io.vertx.codegen.type.TypeInfo[]
      StackMap stack:
            aload 4 /* meths */
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/ClassModel;)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
                  io/vertx/codegen/ClassModel.checkMethod(Lio/vertx/codegen/MethodInfo;)V (5)
                  (Lio/vertx/codegen/MethodInfo;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
       146: .line 552
            aload 4 /* meths */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 8 /* first */
        start local 8 // io.vertx.codegen.MethodInfo first
       147: .line 553
            aload 4 /* meths */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 151
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.TypeMirror java.util.List java.util.Iterator io.vertx.codegen.type.TypeInfo[] top io.vertx.codegen.MethodInfo top java.util.Iterator
      StackMap stack:
       148: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 9 /* method */
        start local 9 // io.vertx.codegen.MethodInfo method
       149: .line 554
            aload 9 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.isStaticMethod:()Z
            aload 8 /* first */
            invokevirtual io.vertx.codegen.MethodInfo.isStaticMethod:()Z
            if_icmpeq 151
       150: .line 555
            new io.vertx.codegen.GenException
            dup
            aload 1 /* elem */
            new java.lang.StringBuilder
            dup
            ldc "Overloaded method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be both static and instance"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 9 // io.vertx.codegen.MethodInfo method
       151: .line 553
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 148
        end local 8 // io.vertx.codegen.MethodInfo first
        end local 6 // io.vertx.codegen.type.TypeInfo[] returnTypes
        end local 4 // java.util.List meths
       152: .line 535
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType javax.lang.model.type.TypeMirror top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 134
        end local 3 // javax.lang.model.type.TypeMirror objectType
       153: .line 560
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.Element javax.lang.model.type.DeclaredType
      StackMap stack:
            return
        end local 2 // javax.lang.model.type.DeclaredType declaredType
        end local 1 // javax.lang.model.element.Element elem
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  154     0           this  Lio/vertx/codegen/ClassModel;
            0  154     1           elem  Ljavax/lang/model/element/Element;
            1  154     2   declaredType  Ljavax/lang/model/type/DeclaredType;
           21   72     3             tm  Ljavax/lang/model/type/DeclaredType;
           22   72     4       typeArgs  Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;
           24   27     5        typeArg  Ljavax/lang/model/type/TypeMirror;
           25   27     7     varTypeArg  Ljavax/lang/model/type/TypeVariable;
           29   72     5             st  Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;
           31   51     6        tmSuper  Ljavax/lang/model/type/TypeMirror;
           33   34     8  superTypeInfo  Lio/vertx/codegen/type/TypeInfo;
           36   51     8  superTypeInfo  Lio/vertx/codegen/type/TypeInfo;
           35   36     9              e  Ljava/lang/IllegalArgumentException;
           38   47     9      superType  Lio/vertx/codegen/type/ApiTypeInfo;
           49   50     9              e  Ljava/lang/Exception;
           57   71     6        tmSuper  Ljavax/lang/model/type/TypeMirror;
           59   71     8            abc  Ljavax/lang/model/type/DeclaredType;
           60   71     9             tt  Ljavax/lang/model/element/TypeElement;
           62   71    10           list  Ljava/util/List<Lio/vertx/codegen/type/TypeInfo;>;
           63   71    11           size  I
           64   70    12              i  I
           66   68    13              q  Ljavax/lang/model/type/TypeMirror;
           67   68    14             ti  Lio/vertx/codegen/type/TypeInfo;
           80   84     3    enclosedElt  Ljavax/lang/model/element/Element;
           87  153     3     objectType  Ljavax/lang/model/type/TypeMirror;
           97  125     4           blah  Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/MethodInfo;>;
           98  125     6             it  Ljava/util/Iterator<Lio/vertx/codegen/MethodInfo;>;
          100  124     7     methodInfo  Lio/vertx/codegen/MethodInfo;
          101  124     8     returnType  Lio/vertx/codegen/type/TypeInfo;
          103  124     9      asyncType  Lio/vertx/codegen/type/TypeInfo;
          104  124    10              p  Ljava/util/List<Lio/vertx/codegen/ParamInfo;>;
          115  124    11              t  Lio/vertx/codegen/Signature;
          121  124    12            opt  Ljava/util/Optional<Lio/vertx/codegen/MethodInfo;>;
          135  152     4          meths  Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;
          141  152     6    returnTypes  [Lio/vertx/codegen/type/TypeInfo;
          147  152     8          first  Lio/vertx/codegen/MethodInfo;
          149  151     9         method  Lio/vertx/codegen/MethodInfo;
      Exception table:
        from    to  target  type
          32    33      34  Class java.lang.IllegalArgumentException
          37    47      48  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      elem  

  protected void checkParamType(javax.lang.model.element.ExecutableElement, io.vertx.codegen.type.TypeInfo, int, int, boolean);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;IIZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.element.ExecutableElement elem
        start local 2 // io.vertx.codegen.type.TypeInfo typeInfo
        start local 3 // int pos
        start local 4 // int numParams
        start local 5 // boolean allowAnyJavaType
         0: .line 564
            aload 1 /* elem */
            aload 2 /* typeInfo */
            iload 5 /* allowAnyJavaType */
            invokestatic io.vertx.codegen.TypeValidator.validateParamType:(Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;Z)V
         1: .line 565
            return
        end local 5 // boolean allowAnyJavaType
        end local 4 // int numParams
        end local 3 // int pos
        end local 2 // io.vertx.codegen.type.TypeInfo typeInfo
        end local 1 // javax.lang.model.element.ExecutableElement elem
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/vertx/codegen/ClassModel;
            0    2     1              elem  Ljavax/lang/model/element/ExecutableElement;
            0    2     2          typeInfo  Lio/vertx/codegen/type/TypeInfo;
            0    2     3               pos  I
            0    2     4         numParams  I
            0    2     5  allowAnyJavaType  Z
    MethodParameters:
                  Name  Flags
      elem              
      typeInfo          
      pos               
      numParams         
      allowAnyJavaType  

  protected void checkReturnType(javax.lang.model.element.ExecutableElement, io.vertx.codegen.type.TypeInfo, boolean);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.element.ExecutableElement elem
        start local 2 // io.vertx.codegen.type.TypeInfo type
        start local 3 // boolean allowAnyJavaType
         0: .line 569
            aload 1 /* elem */
            aload 2 /* type */
            iload 3 /* allowAnyJavaType */
            invokestatic io.vertx.codegen.TypeValidator.validateReturnType:(Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;Z)V
         1: .line 570
            return
        end local 3 // boolean allowAnyJavaType
        end local 2 // io.vertx.codegen.type.TypeInfo type
        end local 1 // javax.lang.model.element.ExecutableElement elem
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/vertx/codegen/ClassModel;
            0    2     1              elem  Ljavax/lang/model/element/ExecutableElement;
            0    2     2              type  Lio/vertx/codegen/type/TypeInfo;
            0    2     3  allowAnyJavaType  Z
    MethodParameters:
                  Name  Flags
      elem              
      type              
      allowAnyJavaType  

  private io.vertx.codegen.type.TypeInfo extractArg(java.lang.String, javax.lang.model.type.DeclaredType);
    descriptor: (Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // java.lang.String subType
        start local 2 // javax.lang.model.type.DeclaredType declaredType
         0: .line 573
            aload 0 /* this */
            aload 1 /* subType */
            aload 2 /* declaredType */
            invokevirtual io.vertx.codegen.ClassModel.extractArgs:(Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)[Lio/vertx/codegen/type/TypeInfo;
            astore 3 /* typeInfos */
        start local 3 // io.vertx.codegen.type.TypeInfo[] typeInfos
         1: .line 574
            aload 3 /* typeInfos */
            ifnull 2
            aload 3 /* typeInfos */
            arraylength
            ifle 2
            aload 3 /* typeInfos */
            iconst_0
            aaload
            goto 3
      StackMap locals: io.vertx.codegen.type.TypeInfo[]
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.codegen.type.TypeInfo
         3: areturn
        end local 3 // io.vertx.codegen.type.TypeInfo[] typeInfos
        end local 2 // javax.lang.model.type.DeclaredType declaredType
        end local 1 // java.lang.String subType
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/vertx/codegen/ClassModel;
            0    4     1       subType  Ljava/lang/String;
            0    4     2  declaredType  Ljavax/lang/model/type/DeclaredType;
            1    4     3     typeInfos  [Lio/vertx/codegen/type/TypeInfo;
    MethodParameters:
              Name  Flags
      subType       
      declaredType  

  private io.vertx.codegen.type.TypeInfo[] extractArgs(java.lang.String, javax.lang.model.type.DeclaredType);
    descriptor: (Ljava/lang/String;Ljavax/lang/model/type/DeclaredType;)[Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // java.lang.String subType
        start local 2 // javax.lang.model.type.DeclaredType declaredType
         0: .line 578
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* subType */
            invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 3 /* parameterizedElt */
        start local 3 // javax.lang.model.element.TypeElement parameterizedElt
         1: .line 579
            aload 3 /* parameterizedElt */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 4 /* parameterizedType */
        start local 4 // javax.lang.model.type.TypeMirror parameterizedType
         2: .line 580
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 4 /* parameterizedType */
            invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
            astore 5 /* rawType */
        start local 5 // javax.lang.model.type.TypeMirror rawType
         3: .line 581
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 2 /* declaredType */
            aload 5 /* rawType */
            invokeinterface javax.lang.model.util.Types.isSubtype:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 18
         4: .line 582
            aload 3 /* parameterizedElt */
            invokeinterface javax.lang.model.element.TypeElement.getTypeParameters:()Ljava/util/List;
            astore 6 /* typeParameters */
        start local 6 // java.util.List typeParameters
         5: .line 583
            aload 6 /* typeParameters */
            invokeinterface java.util.List.size:()I
            anewarray io.vertx.codegen.type.TypeInfo
            astore 7 /* typeInfos */
        start local 7 // io.vertx.codegen.type.TypeInfo[] typeInfos
         6: .line 584
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 16
         8: .line 585
      StackMap locals: io.vertx.codegen.ClassModel java.lang.String javax.lang.model.type.DeclaredType javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror java.util.List io.vertx.codegen.type.TypeInfo[] int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 2 /* declaredType */
            aload 6 /* typeParameters */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.TypeParameterElement
            invokestatic io.vertx.codegen.Helper.resolveTypeParameter:(Ljavax/lang/model/util/Types;Ljavax/lang/model/type/DeclaredType;Ljavax/lang/model/element/TypeParameterElement;)Ljavax/lang/model/type/TypeMirror;
            astore 9 /* resolved */
        start local 9 // javax.lang.model.type.TypeMirror resolved
         9: .line 586
            aload 9 /* resolved */
            ifnull 14
            aload 9 /* resolved */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
            if_acmpne 14
        10: .line 587
            aload 9 /* resolved */
            checkcast javax.lang.model.type.DeclaredType
            astore 10 /* dt */
        start local 10 // javax.lang.model.type.DeclaredType dt
        11: .line 588
            aload 10 /* dt */
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            astore 11 /* a */
        start local 11 // javax.lang.model.element.TypeElement a
        12: .line 589
            aload 11 /* a */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            ldc "io.vertx.core.AsyncResult"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 590
            aconst_null
            areturn
        end local 11 // javax.lang.model.element.TypeElement a
        end local 10 // javax.lang.model.type.DeclaredType dt
        14: .line 593
      StackMap locals: javax.lang.model.type.TypeMirror
      StackMap stack:
            aload 7 /* typeInfos */
            iload 8 /* i */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 9 /* resolved */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            aastore
        end local 9 // javax.lang.model.type.TypeMirror resolved
        15: .line 584
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            aload 6 /* typeParameters */
            invokeinterface java.util.List.size:()I
            if_icmplt 8
        end local 8 // int i
        17: .line 595
            aload 7 /* typeInfos */
            areturn
        end local 7 // io.vertx.codegen.type.TypeInfo[] typeInfos
        end local 6 // java.util.List typeParameters
        18: .line 597
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // javax.lang.model.type.TypeMirror rawType
        end local 4 // javax.lang.model.type.TypeMirror parameterizedType
        end local 3 // javax.lang.model.element.TypeElement parameterizedElt
        end local 2 // javax.lang.model.type.DeclaredType declaredType
        end local 1 // java.lang.String subType
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Lio/vertx/codegen/ClassModel;
            0   19     1            subType  Ljava/lang/String;
            0   19     2       declaredType  Ljavax/lang/model/type/DeclaredType;
            1   19     3   parameterizedElt  Ljavax/lang/model/element/TypeElement;
            2   19     4  parameterizedType  Ljavax/lang/model/type/TypeMirror;
            3   19     5            rawType  Ljavax/lang/model/type/TypeMirror;
            5   18     6     typeParameters  Ljava/util/List<+Ljavax/lang/model/element/TypeParameterElement;>;
            6   18     7          typeInfos  [Lio/vertx/codegen/type/TypeInfo;
            7   17     8                  i  I
            9   15     9           resolved  Ljavax/lang/model/type/TypeMirror;
           11   14    10                 dt  Ljavax/lang/model/type/DeclaredType;
           12   14    11                  a  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
              Name  Flags
      subType       
      declaredType  

  private io.vertx.codegen.ConstantInfo fieldMethod(javax.lang.model.element.VariableElement, boolean);
    descriptor: (Ljavax/lang/model/element/VariableElement;Z)Lio/vertx/codegen/ConstantInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.element.VariableElement modelField
        start local 2 // boolean allowAnyJavaType
         0: .line 601
            aload 1 /* modelField */
            invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
            astore 3 /* mods */
        start local 3 // java.util.Set mods
         1: .line 602
            aload 3 /* mods */
            getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 603
            aconst_null
            areturn
         3: .line 605
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 1 /* modelField */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 4 /* type */
        start local 4 // io.vertx.codegen.type.TypeInfo type
         4: .line 606
            aload 1 /* modelField */
            aload 4 /* type */
            aload 1 /* modelField */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            iload 2 /* allowAnyJavaType */
            invokestatic io.vertx.codegen.TypeValidator.validateConstantType:(Ljavax/lang/model/element/VariableElement;Lio/vertx/codegen/type/TypeInfo;Ljavax/lang/model/type/TypeMirror;Z)V
         5: .line 607
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
            aload 1 /* modelField */
            invokevirtual io.vertx.codegen.doc.Doc$Factory.createDoc:(Ljavax/lang/model/element/Element;)Lio/vertx/codegen/doc/Doc;
            astore 5 /* doc */
        start local 5 // io.vertx.codegen.doc.Doc doc
         6: .line 608
            new io.vertx.codegen.ConstantInfo
            dup
            aload 5 /* doc */
            aload 1 /* modelField */
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 4 /* type */
            invokespecial io.vertx.codegen.ConstantInfo.<init>:(Lio/vertx/codegen/doc/Doc;Ljava/lang/String;Lio/vertx/codegen/type/TypeInfo;)V
            areturn
        end local 5 // io.vertx.codegen.doc.Doc doc
        end local 4 // io.vertx.codegen.type.TypeInfo type
        end local 3 // java.util.Set mods
        end local 2 // boolean allowAnyJavaType
        end local 1 // javax.lang.model.element.VariableElement modelField
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lio/vertx/codegen/ClassModel;
            0    7     1        modelField  Ljavax/lang/model/element/VariableElement;
            0    7     2  allowAnyJavaType  Z
            1    7     3              mods  Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
            4    7     4              type  Lio/vertx/codegen/type/TypeInfo;
            6    7     5               doc  Lio/vertx/codegen/doc/Doc;
    MethodParameters:
                  Name  Flags
      modelField        
      allowAnyJavaType  

  private io.vertx.codegen.MethodInfo createMethod(javax.lang.model.element.ExecutableElement, boolean);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Z)Lio/vertx/codegen/MethodInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=17, locals=34, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.element.ExecutableElement modelMethod
        start local 2 // boolean allowAnyJavaType
         0: .line 612
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            astore 3 /* mods */
        start local 3 // java.util.Set mods
         1: .line 613
            aload 3 /* mods */
            getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 614
            aconst_null
            areturn
         3: .line 617
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            astore 4 /* declaringElt */
        start local 4 // javax.lang.model.element.TypeElement declaringElt
         4: .line 618
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 4 /* declaringElt */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 5 /* declaringType */
        start local 5 // io.vertx.codegen.type.TypeInfo declaringType
         5: .line 619
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.DeclaredType
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.util.Types.asMemberOf:(Ljavax/lang/model/type/DeclaredType;Ljavax/lang/model/element/Element;)Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.ExecutableType
            astore 6 /* resolvedMethodType */
        start local 6 // javax.lang.model.type.ExecutableType resolvedMethodType
         6: .line 621
            aload 4 /* declaringElt */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.equals:(Ljava/lang/Object;)Z
            ifne 8
            aload 5 /* declaringType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
            if_acmpeq 8
            aload 5 /* declaringType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
            if_acmpeq 8
         7: .line 622
            aconst_null
            areturn
         8: .line 626
      StackMap locals: javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType
      StackMap stack:
            aload 4 /* declaringElt */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.equals:(Ljava/lang/Object;)Z
            ifne 13
            aload 5 /* declaringType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 13
         9: .line 627
            aload 5 /* declaringType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            checkcast io.vertx.codegen.type.ApiTypeInfo
            astore 7 /* declaringApiType */
        start local 7 // io.vertx.codegen.type.ApiTypeInfo declaringApiType
        10: .line 628
            aload 7 /* declaringApiType */
            invokevirtual io.vertx.codegen.type.ApiTypeInfo.isConcrete:()Z
            ifeq 13
        11: .line 629
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 6 /* resolvedMethodType */
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 13
        12: .line 630
            aconst_null
            areturn
        end local 7 // io.vertx.codegen.type.ApiTypeInfo declaringApiType
        13: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 4 /* declaringElt */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            astore 7 /* type */
        start local 7 // io.vertx.codegen.type.ClassTypeInfo type
        14: .line 637
            aload 3 /* mods */
            getstatic javax.lang.model.element.Modifier.DEFAULT:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 8 /* isDefault */
        start local 8 // boolean isDefault
        15: .line 638
            aload 3 /* mods */
            getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 9 /* isStatic */
        start local 9 // boolean isStatic
        16: .line 639
            iload 9 /* isStatic */
            ifeq 18
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.concrete:Z
            ifne 18
        17: .line 640
            new io.vertx.codegen.GenException
            dup
            aload 1 /* modelMethod */
            ldc "Abstract interface cannot declare static methods"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        18: .line 643
      StackMap locals: io.vertx.codegen.type.ClassTypeInfo int int
      StackMap stack:
            aload 1 /* modelMethod */
            ldc Lio/vertx/codegen/annotations/CacheReturn;
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: istore 10 /* isCacheReturn */
        start local 10 // boolean isCacheReturn
        21: .line 644
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* typeParams */
        start local 11 // java.util.ArrayList typeParams
        22: .line 645
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getTypeParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 30
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList top java.util.Iterator
      StackMap stack:
        23: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.TypeParameterElement
            astore 12 /* typeParam */
        start local 12 // javax.lang.model.element.TypeParameterElement typeParam
        24: .line 646
            aload 12 /* typeParam */
            invokeinterface javax.lang.model.element.TypeParameterElement.getBounds:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 28
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList javax.lang.model.element.TypeParameterElement java.util.Iterator top java.util.Iterator
      StackMap stack:
        25: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 14 /* bound */
        start local 14 // javax.lang.model.type.TypeMirror bound
        26: .line 647
            aload 0 /* this */
            aload 14 /* bound */
            invokevirtual io.vertx.codegen.ClassModel.isObjectBound:(Ljavax/lang/model/type/TypeMirror;)Z
            ifne 28
        27: .line 648
            new io.vertx.codegen.GenException
            dup
            aload 1 /* modelMethod */
            new java.lang.StringBuilder
            dup
            ldc "Type parameter bound not supported "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* bound */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 14 // javax.lang.model.type.TypeMirror bound
        28: .line 646
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        29: .line 651
            aload 11 /* typeParams */
            aload 12 /* typeParam */
            invokestatic io.vertx.codegen.TypeParamInfo.create:(Ljavax/lang/model/element/TypeParameterElement;)Lio/vertx/codegen/TypeParamInfo;
            checkcast io.vertx.codegen.TypeParamInfo$Method
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // javax.lang.model.element.TypeParameterElement typeParam
        30: .line 645
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        31: .line 655
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* modelMethods */
        start local 12 // java.util.List modelMethods
        32: .line 656
            aload 12 /* modelMethods */
            aload 1 /* modelMethod */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 659
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* ownerTypes */
        start local 13 // java.util.Set ownerTypes
        34: .line 660
            aload 13 /* ownerTypes */
            aload 7 /* type */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        35: .line 662
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            iconst_1
            iconst_1
            invokestatic io.vertx.codegen.Helper.resolveAncestorTypes:(Ljavax/lang/model/element/TypeElement;ZZ)Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 14 /* ancestors */
        start local 14 // java.util.ArrayList ancestors
        36: .line 666
            aload 14 /* ancestors */
            aload 0 /* this */
            invokedynamic compare(Lio/vertx/codegen/ClassModel;)Ljava/util/Comparator;
              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;)I
                  io/vertx/codegen/ClassModel.lambda$30(Ljavax/lang/model/type/DeclaredType;Ljavax/lang/model/type/DeclaredType;)I (7)
                  (Ljavax/lang/model/type/DeclaredType;Ljavax/lang/model/type/DeclaredType;)I
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        37: .line 677
            aload 14 /* ancestors */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 16
            goto 46
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList top java.util.Iterator
      StackMap stack:
        38: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.type.DeclaredType
            astore 15 /* ancestorType */
        start local 15 // javax.lang.model.type.DeclaredType ancestorType
        39: .line 678
            aload 15 /* ancestorType */
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            astore 17 /* ancestorElt */
        start local 17 // javax.lang.model.element.TypeElement ancestorElt
        40: .line 679
            aload 17 /* ancestorElt */
            ldc Lio/vertx/codegen/annotations/VertxGen;
            invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 46
        41: .line 680
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 17 /* ancestorElt */
            invokeinterface javax.lang.model.util.Elements.getAllMembers:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
        42: .line 681
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        43: .line 682
            getstatic io.vertx.codegen.Helper.FILTER_METHOD:Ljava/util/function/Function;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        44: .line 683
            aload 0 /* this */
            aload 1 /* modelMethod */
            invokedynamic test(Lio/vertx/codegen/ClassModel;Ljavax/lang/model/element/ExecutableElement;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$31(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;)Z (7)
                  (Ljavax/lang/model/element/ExecutableElement;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        45: .line 684
            aload 0 /* this */
            aload 12 /* modelMethods */
            aload 13 /* ownerTypes */
            aload 17 /* ancestorElt */
            invokedynamic accept(Lio/vertx/codegen/ClassModel;Ljava/util/List;Ljava/util/Set;Ljavax/lang/model/element/TypeElement;)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
                  io/vertx/codegen/ClassModel.lambda$32(Ljava/util/List;Ljava/util/Set;Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/ExecutableElement;)V (7)
                  (Ljavax/lang/model/element/ExecutableElement;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        end local 17 // javax.lang.model.element.TypeElement ancestorElt
        end local 15 // javax.lang.model.type.DeclaredType ancestorType
        46: .line 677
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        47: .line 692
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 15 /* paramDescs */
        start local 15 // java.util.Map paramDescs
        48: .line 693
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.util.Elements.getDocComment:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
            astore 16 /* comment */
        start local 16 // java.lang.String comment
        49: .line 694
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
            aload 1 /* modelMethod */
            invokevirtual io.vertx.codegen.doc.Doc$Factory.createDoc:(Ljavax/lang/model/element/Element;)Lio/vertx/codegen/doc/Doc;
            astore 17 /* doc */
        start local 17 // io.vertx.codegen.doc.Doc doc
        50: .line 695
            aconst_null
            astore 18 /* returnDesc */
        start local 18 // io.vertx.codegen.doc.Text returnDesc
        51: .line 696
            aconst_null
            astore 19 /* methodDeprecatedDesc */
        start local 19 // io.vertx.codegen.doc.Text methodDeprecatedDesc
        52: .line 697
            aload 17 /* doc */
            ifnull 75
        53: .line 698
            aload 17 /* doc */
        54: .line 699
            invokevirtual io.vertx.codegen.doc.Doc.getBlockTags:()Ljava/util/List;
        55: .line 700
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        56: .line 701
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$33(Lio/vertx/codegen/doc/Tag;)Z (6)
                  (Lio/vertx/codegen/doc/Tag;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        57: .line 702
            invokedynamic apply()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/codegen/doc/Tag$Param.<init>(Lio/vertx/codegen/doc/Tag;)V (8)
                  (Lio/vertx/codegen/doc/Tag;)Lio/vertx/codegen/doc/Tag$Param;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        58: .line 703
            aload 15 /* paramDescs */
            invokedynamic accept(Ljava/util/Map;)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
                  io/vertx/codegen/ClassModel.lambda$35(Ljava/util/Map;Lio/vertx/codegen/doc/Tag$Param;)V (6)
                  (Lio/vertx/codegen/doc/Tag$Param;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        59: .line 704
            aload 17 /* doc */
        60: .line 705
            invokevirtual io.vertx.codegen.doc.Doc.getBlockTags:()Ljava/util/List;
        61: .line 706
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        62: .line 707
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$36(Lio/vertx/codegen/doc/Tag;)Z (6)
                  (Lio/vertx/codegen/doc/Tag;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        63: .line 708
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
        64: .line 704
            astore 20 /* returnTag */
        start local 20 // java.util.Optional returnTag
        65: .line 709
            aload 20 /* returnTag */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 67
        66: .line 710
            new io.vertx.codegen.doc.Text
            dup
            aload 20 /* returnTag */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast io.vertx.codegen.doc.Tag
            invokevirtual io.vertx.codegen.doc.Tag.getValue:()Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.normalizeWhitespaces:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial io.vertx.codegen.doc.Text.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokestatic io.vertx.codegen.doc.Token.tagMapper:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;Ljavax/lang/model/element/TypeElement;)Ljava/util/function/Function;
            invokevirtual io.vertx.codegen.doc.Text.map:(Ljava/util/function/Function;)Lio/vertx/codegen/doc/Text;
            astore 18 /* returnDesc */
        67: .line 712
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.Optional
      StackMap stack:
            aload 17 /* doc */
        68: .line 713
            invokevirtual io.vertx.codegen.doc.Doc.getBlockTags:()Ljava/util/List;
        69: .line 714
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        70: .line 715
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/codegen/ClassModel.lambda$37(Lio/vertx/codegen/doc/Tag;)Z (6)
                  (Lio/vertx/codegen/doc/Tag;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        71: .line 716
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
        72: .line 712
            astore 21 /* methodDeprecatedTag */
        start local 21 // java.util.Optional methodDeprecatedTag
        73: .line 717
            aload 21 /* methodDeprecatedTag */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 75
        74: .line 718
            new io.vertx.codegen.doc.Text
            dup
            aload 21 /* methodDeprecatedTag */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast io.vertx.codegen.doc.Tag
            invokevirtual io.vertx.codegen.doc.Tag.getValue:()Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.normalizeWhitespaces:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial io.vertx.codegen.doc.Text.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokestatic io.vertx.codegen.doc.Token.tagMapper:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;Ljavax/lang/model/element/TypeElement;)Ljava/util/function/Function;
            invokevirtual io.vertx.codegen.doc.Text.map:(Ljava/util/function/Function;)Lio/vertx/codegen/doc/Text;
            astore 19 /* methodDeprecatedDesc */
        end local 21 // java.util.Optional methodDeprecatedTag
        end local 20 // java.util.Optional returnTag
        75: .line 723
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 20 /* mParams */
        start local 20 // java.util.List mParams
        76: .line 724
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.ExecutableType
            astore 21 /* methodType */
        start local 21 // javax.lang.model.type.ExecutableType methodType
        77: .line 725
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            astore 22 /* params */
        start local 22 // java.util.List params
        78: .line 726
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        79: goto 101
        80: .line 727
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List int
      StackMap stack:
            aload 22 /* params */
            iload 23 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 24 /* param */
        start local 24 // javax.lang.model.element.VariableElement param
        81: .line 728
            aload 6 /* resolvedMethodType */
            invokeinterface javax.lang.model.type.ExecutableType.getParameterTypes:()Ljava/util/List;
            iload 23 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 25 /* typeMirror */
        start local 25 // javax.lang.model.type.TypeMirror typeMirror
        82: .line 730
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.env:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 12 /* modelMethods */
            iconst_0
            anewarray javax.lang.model.element.ExecutableElement
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement[]
            iload 23 /* i */
            invokestatic io.vertx.codegen.type.TypeUse.createParamTypeUse:(Ljavax/annotation/processing/ProcessingEnvironment;[Ljavax/lang/model/element/ExecutableElement;I)Lio/vertx/codegen/type/TypeUse;
            astore 27 /* typeUse */
        start local 27 // io.vertx.codegen.type.TypeUse typeUse
        83: .line 732
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 27 /* typeUse */
            aload 25 /* typeMirror */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 26 /* typeInfo */
        start local 26 // io.vertx.codegen.type.TypeInfo typeInfo
        84: .line 733
            goto 89
        end local 26 // io.vertx.codegen.type.TypeInfo typeInfo
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List int javax.lang.model.element.VariableElement javax.lang.model.type.TypeMirror top io.vertx.codegen.type.TypeUse
      StackMap stack: java.lang.Exception
        85: astore 28 /* e */
        start local 28 // java.lang.Exception e
        86: .line 734
            new io.vertx.codegen.GenException
            dup
            aload 24 /* param */
            aload 28 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            astore 29 /* ex */
        start local 29 // io.vertx.codegen.GenException ex
        87: .line 735
            aload 29 /* ex */
            aload 28 /* e */
            invokevirtual java.lang.Exception.getStackTrace:()[Ljava/lang/StackTraceElement;
            invokevirtual io.vertx.codegen.GenException.setStackTrace:([Ljava/lang/StackTraceElement;)V
        88: .line 736
            aload 29 /* ex */
            athrow
        end local 29 // io.vertx.codegen.GenException ex
        end local 28 // java.lang.Exception e
        start local 26 // io.vertx.codegen.type.TypeInfo typeInfo
        89: .line 738
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List int javax.lang.model.element.VariableElement javax.lang.model.type.TypeMirror io.vertx.codegen.type.TypeInfo io.vertx.codegen.type.TypeUse
      StackMap stack:
            aload 24 /* param */
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 28 /* name */
        start local 28 // java.lang.String name
        90: .line 739
            aload 15 /* paramDescs */
            aload 28 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 29 /* desc */
        start local 29 // java.lang.String desc
        91: .line 740
            aload 29 /* desc */
            ifnull 92
            new io.vertx.codegen.doc.Text
            dup
            aload 29 /* desc */
            invokespecial io.vertx.codegen.doc.Text.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokestatic io.vertx.codegen.doc.Token.tagMapper:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;Ljavax/lang/model/element/TypeElement;)Ljava/util/function/Function;
            invokevirtual io.vertx.codegen.doc.Text.map:(Ljava/util/function/Function;)Lio/vertx/codegen/doc/Text;
            goto 93
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        92: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.codegen.doc.Text
        93: astore 30 /* text */
        start local 30 // io.vertx.codegen.doc.Text text
        94: .line 743
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 27 /* typeUse */
            aload 21 /* methodType */
            invokeinterface javax.lang.model.type.ExecutableType.getParameterTypes:()Ljava/util/List;
            iload 23 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 31 /* unresolvedTypeInfo */
        start local 31 // io.vertx.codegen.type.TypeInfo unresolvedTypeInfo
        95: .line 744
            goto 98
        end local 31 // io.vertx.codegen.type.TypeInfo unresolvedTypeInfo
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List int javax.lang.model.element.VariableElement javax.lang.model.type.TypeMirror io.vertx.codegen.type.TypeInfo io.vertx.codegen.type.TypeUse java.lang.String java.lang.String io.vertx.codegen.doc.Text
      StackMap stack: java.lang.Exception
        96: astore 32 /* e */
        start local 32 // java.lang.Exception e
        97: .line 745
            new io.vertx.codegen.GenException
            dup
            aload 24 /* param */
            aload 32 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 32 // java.lang.Exception e
        start local 31 // io.vertx.codegen.type.TypeInfo unresolvedTypeInfo
        98: .line 747
      StackMap locals: io.vertx.codegen.type.TypeInfo
      StackMap stack:
            new io.vertx.codegen.ParamInfo
            dup
            iload 23 /* i */
            aload 28 /* name */
            aload 30 /* text */
            aload 26 /* typeInfo */
            aload 31 /* unresolvedTypeInfo */
            invokespecial io.vertx.codegen.ParamInfo.<init>:(ILjava/lang/String;Lio/vertx/codegen/doc/Text;Lio/vertx/codegen/type/TypeInfo;Lio/vertx/codegen/type/TypeInfo;)V
            astore 32 /* mParam */
        start local 32 // io.vertx.codegen.ParamInfo mParam
        99: .line 748
            aload 20 /* mParams */
            aload 32 /* mParam */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 32 // io.vertx.codegen.ParamInfo mParam
        end local 31 // io.vertx.codegen.type.TypeInfo unresolvedTypeInfo
        end local 30 // io.vertx.codegen.doc.Text text
        end local 29 // java.lang.String desc
        end local 28 // java.lang.String name
        end local 27 // io.vertx.codegen.type.TypeUse typeUse
        end local 26 // io.vertx.codegen.type.TypeInfo typeInfo
        end local 25 // javax.lang.model.type.TypeMirror typeMirror
        end local 24 // javax.lang.model.element.VariableElement param
       100: .line 726
            iinc 23 /* i */ 1
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List int
      StackMap stack:
       101: iload 23 /* i */
            aload 22 /* params */
            invokeinterface java.util.List.size:()I
            if_icmplt 80
        end local 23 // int i
       102: .line 752
            ldc Lio/vertx/codegen/annotations/Fluent;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 4 /* declaringElt */
            aload 1 /* modelMethod */
            invokestatic io.vertx.codegen.Helper.resolveMethodAnnotation:(Ljava/lang/Class;Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/element/AnnotationMirror;
            astore 23 /* fluentAnnotation */
        start local 23 // javax.lang.model.element.AnnotationMirror fluentAnnotation
       103: .line 753
            aload 23 /* fluentAnnotation */
            ifnull 104
            iconst_1
            goto 105
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List javax.lang.model.element.AnnotationMirror
      StackMap stack:
       104: iconst_0
      StackMap locals:
      StackMap stack: int
       105: istore 24 /* isFluent */
        start local 24 // boolean isFluent
       106: .line 754
            iload 24 /* isFluent */
            ifeq 118
       107: .line 755
            iconst_1
            istore 24 /* isFluent */
       108: .line 756
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 4 /* declaringElt */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifne 115
       109: .line 757
            new java.lang.StringBuilder
            dup
            ldc "Interface "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not redeclare the @Fluent return type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       110: .line 758
            ldc " of method "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* modelMethod */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " declared by "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* declaringElt */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       111: .line 757
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 25 /* msg */
        start local 25 // java.lang.String msg
       112: .line 759
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.messager:Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.WARNING:Ljavax/tools/Diagnostic$Kind;
            aload 25 /* msg */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            aload 23 /* fluentAnnotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
       113: .line 760
            getstatic io.vertx.codegen.ClassModel.logger:Ljava/util/logging/Logger;
            aload 25 /* msg */
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        end local 25 // java.lang.String msg
       114: .line 761
            goto 118
       115: .line 762
      StackMap locals: int
      StackMap stack:
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            astore 25 /* fluentType */
        start local 25 // javax.lang.model.type.TypeMirror fluentType
       116: .line 763
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 25 /* fluentType */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifne 118
       117: .line 764
            new io.vertx.codegen.GenException
            dup
            aload 1 /* modelMethod */
            ldc "Methods marked with @Fluent must have a return type that extends the type"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 25 // javax.lang.model.type.TypeMirror fluentType
       118: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.env:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 12 /* modelMethods */
            aload 12 /* modelMethods */
            invokeinterface java.util.List.size:()I
            anewarray javax.lang.model.element.ExecutableElement
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement[]
            invokestatic io.vertx.codegen.type.TypeUse.createReturnTypeUse:(Ljavax/annotation/processing/ProcessingEnvironment;[Ljavax/lang/model/element/ExecutableElement;)Lio/vertx/codegen/type/TypeUse;
            astore 25 /* returnTypeUse */
        start local 25 // io.vertx.codegen.type.TypeUse returnTypeUse
       119: .line 773
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 25 /* returnTypeUse */
            aload 6 /* resolvedMethodType */
            invokeinterface javax.lang.model.type.ExecutableType.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Lio/vertx/codegen/type/TypeUse;Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 26 /* returnType */
        start local 26 // io.vertx.codegen.type.TypeInfo returnType
       120: .line 774
            goto 125
        end local 26 // io.vertx.codegen.type.TypeInfo returnType
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List javax.lang.model.element.AnnotationMirror int io.vertx.codegen.type.TypeUse
      StackMap stack: java.lang.Exception
       121: astore 27 /* e */
        start local 27 // java.lang.Exception e
       122: .line 775
            new io.vertx.codegen.GenException
            dup
            aload 1 /* modelMethod */
            aload 27 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            astore 28 /* genEx */
        start local 28 // io.vertx.codegen.GenException genEx
       123: .line 776
            aload 28 /* genEx */
            aload 27 /* e */
            invokevirtual io.vertx.codegen.GenException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
       124: .line 777
            aload 28 /* genEx */
            athrow
        end local 28 // io.vertx.codegen.GenException genEx
        end local 27 // java.lang.Exception e
        start local 26 // io.vertx.codegen.type.TypeInfo returnType
       125: .line 779
      StackMap locals: io.vertx.codegen.type.TypeInfo
      StackMap stack:
            aload 26 /* returnType */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokevirtual io.vertx.codegen.type.TypeInfo.collectImports:(Ljava/util/Collection;)V
       126: .line 780
            iload 10 /* isCacheReturn */
            ifeq 128
            aload 26 /* returnType */
            invokevirtual io.vertx.codegen.type.TypeInfo.isVoid:()Z
            ifeq 128
       127: .line 781
            new io.vertx.codegen.GenException
            dup
            aload 1 /* modelMethod */
            ldc "void method can't be marked with @CacheReturn"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
       128: .line 784
      StackMap locals:
      StackMap stack:
            aload 1 /* modelMethod */
            ldc Ljava/lang/Deprecated;
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 129
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.deprecatedDesc:Lio/vertx/codegen/doc/Text;
            ifnonnull 129
            iconst_0
            goto 130
      StackMap locals:
      StackMap stack:
       129: iconst_1
      StackMap locals:
      StackMap stack: int
       130: istore 27 /* methodDeprecated */
        start local 27 // boolean methodDeprecated
       131: .line 785
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 28 /* methodName */
        start local 28 // java.lang.String methodName
       132: .line 787
            aload 0 /* this */
       133: .line 788
            aload 13 /* ownerTypes */
       134: .line 789
            aload 28 /* methodName */
       135: .line 790
            aload 16 /* comment */
       136: .line 791
            aload 17 /* doc */
       137: .line 792
            aload 26 /* returnType */
       138: .line 793
            aload 18 /* returnDesc */
       139: .line 794
            iload 24 /* isFluent */
       140: .line 795
            iload 10 /* isCacheReturn */
       141: .line 796
            aload 20 /* mParams */
       142: .line 797
            aload 1 /* modelMethod */
       143: .line 798
            iload 9 /* isStatic */
       144: .line 799
            iload 8 /* isDefault */
       145: .line 800
            aload 11 /* typeParams */
       146: .line 801
            aload 4 /* declaringElt */
       147: .line 802
            iload 27 /* methodDeprecated */
       148: .line 803
            aload 19 /* methodDeprecatedDesc */
       149: .line 787
            invokevirtual io.vertx.codegen.ClassModel.createMethodInfo:(Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Lio/vertx/codegen/doc/Doc;Lio/vertx/codegen/type/TypeInfo;Lio/vertx/codegen/doc/Text;ZZLjava/util/List;Ljavax/lang/model/element/ExecutableElement;ZZLjava/util/ArrayList;Ljavax/lang/model/element/TypeElement;ZLio/vertx/codegen/doc/Text;)Lio/vertx/codegen/MethodInfo;
            astore 29 /* methodInfo */
        start local 29 // io.vertx.codegen.MethodInfo methodInfo
       150: .line 808
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 31
            goto 158
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List javax.lang.model.element.AnnotationMirror int io.vertx.codegen.type.TypeUse io.vertx.codegen.type.TypeInfo int java.lang.String io.vertx.codegen.MethodInfo top java.util.Iterator
      StackMap stack:
       151: aload 31
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 30 /* otherMethod */
        start local 30 // java.util.Map$Entry otherMethod
       152: .line 809
            aload 30 /* otherMethod */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 158
       153: .line 810
            aload 30 /* otherMethod */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            invokeinterface javax.lang.model.element.ExecutableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.ExecutableType
            astore 32 /* t1 */
        start local 32 // javax.lang.model.type.ExecutableType t1
       154: .line 811
            aload 1 /* modelMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.ExecutableType
            astore 33 /* t2 */
        start local 33 // javax.lang.model.type.ExecutableType t2
       155: .line 812
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 32 /* t1 */
            aload 33 /* t2 */
            invokeinterface javax.lang.model.util.Types.isSubsignature:(Ljavax/lang/model/type/ExecutableType;Ljavax/lang/model/type/ExecutableType;)Z
            ifeq 158
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 33 /* t2 */
            aload 32 /* t1 */
            invokeinterface javax.lang.model.util.Types.isSubsignature:(Ljavax/lang/model/type/ExecutableType;Ljavax/lang/model/type/ExecutableType;)Z
            ifeq 158
       156: .line 813
            aload 30 /* otherMethod */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            invokevirtual io.vertx.codegen.MethodInfo.getOwnerTypes:()Ljava/util/Set;
            aload 29 /* methodInfo */
            invokevirtual io.vertx.codegen.MethodInfo.getOwnerTypes:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
       157: .line 814
            aconst_null
            areturn
        end local 33 // javax.lang.model.type.ExecutableType t2
        end local 32 // javax.lang.model.type.ExecutableType t1
        end local 30 // java.util.Map$Entry otherMethod
       158: .line 808
      StackMap locals:
      StackMap stack:
            aload 31
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 151
       159: .line 820
            aload 13 /* ownerTypes */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 166
       160: .line 822
            aload 29 /* methodInfo */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            astore 30 /* p */
        start local 30 // java.util.List p
       161: .line 823
            iconst_0
            istore 31 /* i */
        start local 31 // int i
       162: goto 165
       163: .line 824
      StackMap locals: io.vertx.codegen.ClassModel javax.lang.model.element.ExecutableElement int java.util.Set javax.lang.model.element.TypeElement io.vertx.codegen.type.TypeInfo javax.lang.model.type.ExecutableType io.vertx.codegen.type.ClassTypeInfo int int int java.util.ArrayList java.util.List java.util.Set java.util.ArrayList java.util.Map java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.doc.Text io.vertx.codegen.doc.Text java.util.List javax.lang.model.type.ExecutableType java.util.List javax.lang.model.element.AnnotationMirror int io.vertx.codegen.type.TypeUse io.vertx.codegen.type.TypeInfo int java.lang.String io.vertx.codegen.MethodInfo java.util.List int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* modelMethod */
            aload 30 /* p */
            iload 31 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.ParamInfo
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            iload 31 /* i */
            aload 30 /* p */
            invokeinterface java.util.List.size:()I
            iload 2 /* allowAnyJavaType */
            invokevirtual io.vertx.codegen.ClassModel.checkParamType:(Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;IIZ)V
       164: .line 823
            iinc 31 /* i */ 1
      StackMap locals:
      StackMap stack:
       165: iload 31 /* i */
            aload 30 /* p */
            invokeinterface java.util.List.size:()I
            if_icmplt 163
        end local 31 // int i
        end local 30 // java.util.List p
       166: .line 828
      StackMap locals:
      StackMap stack:
            aload 29 /* methodInfo */
            areturn
        end local 29 // io.vertx.codegen.MethodInfo methodInfo
        end local 28 // java.lang.String methodName
        end local 27 // boolean methodDeprecated
        end local 26 // io.vertx.codegen.type.TypeInfo returnType
        end local 25 // io.vertx.codegen.type.TypeUse returnTypeUse
        end local 24 // boolean isFluent
        end local 23 // javax.lang.model.element.AnnotationMirror fluentAnnotation
        end local 22 // java.util.List params
        end local 21 // javax.lang.model.type.ExecutableType methodType
        end local 20 // java.util.List mParams
        end local 19 // io.vertx.codegen.doc.Text methodDeprecatedDesc
        end local 18 // io.vertx.codegen.doc.Text returnDesc
        end local 17 // io.vertx.codegen.doc.Doc doc
        end local 16 // java.lang.String comment
        end local 15 // java.util.Map paramDescs
        end local 14 // java.util.ArrayList ancestors
        end local 13 // java.util.Set ownerTypes
        end local 12 // java.util.List modelMethods
        end local 11 // java.util.ArrayList typeParams
        end local 10 // boolean isCacheReturn
        end local 9 // boolean isStatic
        end local 8 // boolean isDefault
        end local 7 // io.vertx.codegen.type.ClassTypeInfo type
        end local 6 // javax.lang.model.type.ExecutableType resolvedMethodType
        end local 5 // io.vertx.codegen.type.TypeInfo declaringType
        end local 4 // javax.lang.model.element.TypeElement declaringElt
        end local 3 // java.util.Set mods
        end local 2 // boolean allowAnyJavaType
        end local 1 // javax.lang.model.element.ExecutableElement modelMethod
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  167     0                  this  Lio/vertx/codegen/ClassModel;
            0  167     1           modelMethod  Ljavax/lang/model/element/ExecutableElement;
            0  167     2      allowAnyJavaType  Z
            1  167     3                  mods  Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
            4  167     4          declaringElt  Ljavax/lang/model/element/TypeElement;
            5  167     5         declaringType  Lio/vertx/codegen/type/TypeInfo;
            6  167     6    resolvedMethodType  Ljavax/lang/model/type/ExecutableType;
           10   13     7      declaringApiType  Lio/vertx/codegen/type/ApiTypeInfo;
           14  167     7                  type  Lio/vertx/codegen/type/ClassTypeInfo;
           15  167     8             isDefault  Z
           16  167     9              isStatic  Z
           21  167    10         isCacheReturn  Z
           22  167    11            typeParams  Ljava/util/ArrayList<Lio/vertx/codegen/TypeParamInfo$Method;>;
           24   30    12             typeParam  Ljavax/lang/model/element/TypeParameterElement;
           26   28    14                 bound  Ljavax/lang/model/type/TypeMirror;
           32  167    12          modelMethods  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
           34  167    13            ownerTypes  Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;
           36  167    14             ancestors  Ljava/util/ArrayList<Ljavax/lang/model/type/DeclaredType;>;
           39   46    15          ancestorType  Ljavax/lang/model/type/DeclaredType;
           40   46    17           ancestorElt  Ljavax/lang/model/element/TypeElement;
           48  167    15            paramDescs  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           49  167    16               comment  Ljava/lang/String;
           50  167    17                   doc  Lio/vertx/codegen/doc/Doc;
           51  167    18            returnDesc  Lio/vertx/codegen/doc/Text;
           52  167    19  methodDeprecatedDesc  Lio/vertx/codegen/doc/Text;
           65   75    20             returnTag  Ljava/util/Optional<Lio/vertx/codegen/doc/Tag;>;
           73   75    21   methodDeprecatedTag  Ljava/util/Optional<Lio/vertx/codegen/doc/Tag;>;
           76  167    20               mParams  Ljava/util/List<Lio/vertx/codegen/ParamInfo;>;
           77  167    21            methodType  Ljavax/lang/model/type/ExecutableType;
           78  167    22                params  Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
           79  102    23                     i  I
           81  100    24                 param  Ljavax/lang/model/element/VariableElement;
           82  100    25            typeMirror  Ljavax/lang/model/type/TypeMirror;
           84   85    26              typeInfo  Lio/vertx/codegen/type/TypeInfo;
           89  100    26              typeInfo  Lio/vertx/codegen/type/TypeInfo;
           83  100    27               typeUse  Lio/vertx/codegen/type/TypeUse;
           86   89    28                     e  Ljava/lang/Exception;
           87   89    29                    ex  Lio/vertx/codegen/GenException;
           90  100    28                  name  Ljava/lang/String;
           91  100    29                  desc  Ljava/lang/String;
           94  100    30                  text  Lio/vertx/codegen/doc/Text;
           95   96    31    unresolvedTypeInfo  Lio/vertx/codegen/type/TypeInfo;
           98  100    31    unresolvedTypeInfo  Lio/vertx/codegen/type/TypeInfo;
           97   98    32                     e  Ljava/lang/Exception;
           99  100    32                mParam  Lio/vertx/codegen/ParamInfo;
          103  167    23      fluentAnnotation  Ljavax/lang/model/element/AnnotationMirror;
          106  167    24              isFluent  Z
          112  114    25                   msg  Ljava/lang/String;
          116  118    25            fluentType  Ljavax/lang/model/type/TypeMirror;
          119  167    25         returnTypeUse  Lio/vertx/codegen/type/TypeUse;
          120  121    26            returnType  Lio/vertx/codegen/type/TypeInfo;
          125  167    26            returnType  Lio/vertx/codegen/type/TypeInfo;
          122  125    27                     e  Ljava/lang/Exception;
          123  125    28                 genEx  Lio/vertx/codegen/GenException;
          131  167    27      methodDeprecated  Z
          132  167    28            methodName  Ljava/lang/String;
          150  167    29            methodInfo  Lio/vertx/codegen/MethodInfo;
          152  158    30           otherMethod  Ljava/util/Map$Entry<Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/MethodInfo;>;
          154  158    32                    t1  Ljavax/lang/model/type/ExecutableType;
          155  158    33                    t2  Ljavax/lang/model/type/ExecutableType;
          161  166    30                     p  Ljava/util/List<Lio/vertx/codegen/ParamInfo;>;
          162  166    31                     i  I
      Exception table:
        from    to  target  type
          83    84      85  Class java.lang.Exception
          94    95      96  Class java.lang.Exception
         119   120     121  Class java.lang.Exception
    MethodParameters:
                  Name  Flags
      modelMethod       
      allowAnyJavaType  

  protected io.vertx.codegen.MethodInfo createMethodInfo(java.util.Set<io.vertx.codegen.type.ClassTypeInfo>, java.lang.String, java.lang.String, io.vertx.codegen.doc.Doc, io.vertx.codegen.type.TypeInfo, io.vertx.codegen.doc.Text, boolean, boolean, java.util.List<io.vertx.codegen.ParamInfo>, javax.lang.model.element.ExecutableElement, boolean, boolean, java.util.ArrayList<io.vertx.codegen.TypeParamInfo$Method>, javax.lang.model.element.TypeElement, boolean, io.vertx.codegen.doc.Text);
    descriptor: (Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Lio/vertx/codegen/doc/Doc;Lio/vertx/codegen/type/TypeInfo;Lio/vertx/codegen/doc/Text;ZZLjava/util/List;Ljavax/lang/model/element/ExecutableElement;ZZLjava/util/ArrayList;Ljavax/lang/model/element/TypeElement;ZLio/vertx/codegen/doc/Text;)Lio/vertx/codegen/MethodInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=16, locals=17, args_size=17
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // java.util.Set ownerTypes
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String comment
        start local 4 // io.vertx.codegen.doc.Doc doc
        start local 5 // io.vertx.codegen.type.TypeInfo returnType
        start local 6 // io.vertx.codegen.doc.Text returnDescription
        start local 7 // boolean isFluent
        start local 8 // boolean isCacheReturn
        start local 9 // java.util.List mParams
        start local 10 // javax.lang.model.element.ExecutableElement methodElt
        start local 11 // boolean isStatic
        start local 12 // boolean isDefault
        start local 13 // java.util.ArrayList typeParams
        start local 14 // javax.lang.model.element.TypeElement declaringElt
        start local 15 // boolean methodDeprecated
        start local 16 // io.vertx.codegen.doc.Text methodDeprecatedDesc
         0: .line 837
            new io.vertx.codegen.MethodInfo
            dup
            aload 1 /* ownerTypes */
            aload 2 /* methodName */
            aload 5 /* returnType */
            aload 6 /* returnDescription */
         1: .line 838
            iload 7 /* isFluent */
            iload 8 /* isCacheReturn */
            aload 9 /* mParams */
            aload 3 /* comment */
            aload 4 /* doc */
            iload 11 /* isStatic */
            iload 12 /* isDefault */
            aload 13 /* typeParams */
            iload 15 /* methodDeprecated */
            aload 16 /* methodDeprecatedDesc */
         2: .line 837
            invokespecial io.vertx.codegen.MethodInfo.<init>:(Ljava/util/Set;Ljava/lang/String;Lio/vertx/codegen/type/TypeInfo;Lio/vertx/codegen/doc/Text;ZZLjava/util/List;Ljava/lang/String;Lio/vertx/codegen/doc/Doc;ZZLjava/util/List;ZLio/vertx/codegen/doc/Text;)V
            areturn
        end local 16 // io.vertx.codegen.doc.Text methodDeprecatedDesc
        end local 15 // boolean methodDeprecated
        end local 14 // javax.lang.model.element.TypeElement declaringElt
        end local 13 // java.util.ArrayList typeParams
        end local 12 // boolean isDefault
        end local 11 // boolean isStatic
        end local 10 // javax.lang.model.element.ExecutableElement methodElt
        end local 9 // java.util.List mParams
        end local 8 // boolean isCacheReturn
        end local 7 // boolean isFluent
        end local 6 // io.vertx.codegen.doc.Text returnDescription
        end local 5 // io.vertx.codegen.type.TypeInfo returnType
        end local 4 // io.vertx.codegen.doc.Doc doc
        end local 3 // java.lang.String comment
        end local 2 // java.lang.String methodName
        end local 1 // java.util.Set ownerTypes
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lio/vertx/codegen/ClassModel;
            0    3     1            ownerTypes  Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;
            0    3     2            methodName  Ljava/lang/String;
            0    3     3               comment  Ljava/lang/String;
            0    3     4                   doc  Lio/vertx/codegen/doc/Doc;
            0    3     5            returnType  Lio/vertx/codegen/type/TypeInfo;
            0    3     6     returnDescription  Lio/vertx/codegen/doc/Text;
            0    3     7              isFluent  Z
            0    3     8         isCacheReturn  Z
            0    3     9               mParams  Ljava/util/List<Lio/vertx/codegen/ParamInfo;>;
            0    3    10             methodElt  Ljavax/lang/model/element/ExecutableElement;
            0    3    11              isStatic  Z
            0    3    12             isDefault  Z
            0    3    13            typeParams  Ljava/util/ArrayList<Lio/vertx/codegen/TypeParamInfo$Method;>;
            0    3    14          declaringElt  Ljavax/lang/model/element/TypeElement;
            0    3    15      methodDeprecated  Z
            0    3    16  methodDeprecatedDesc  Lio/vertx/codegen/doc/Text;
    Signature: (Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;Ljava/lang/String;Ljava/lang/String;Lio/vertx/codegen/doc/Doc;Lio/vertx/codegen/type/TypeInfo;Lio/vertx/codegen/doc/Text;ZZLjava/util/List<Lio/vertx/codegen/ParamInfo;>;Ljavax/lang/model/element/ExecutableElement;ZZLjava/util/ArrayList<Lio/vertx/codegen/TypeParamInfo$Method;>;Ljavax/lang/model/element/TypeElement;ZLio/vertx/codegen/doc/Text;)Lio/vertx/codegen/MethodInfo;
    MethodParameters:
                      Name  Flags
      ownerTypes            
      methodName            
      comment               
      doc                   
      returnType            
      returnDescription     
      isFluent              
      isCacheReturn         
      mParams               
      methodElt             
      isStatic              
      isDefault             
      typeParams            
      declaringElt          
      methodDeprecated      
      methodDeprecatedDesc  

  protected void checkMethod(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // io.vertx.codegen.MethodInfo methodInfo
         0: .line 843
            return
        end local 1 // io.vertx.codegen.MethodInfo methodInfo
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/vertx/codegen/ClassModel;
            0    1     1  methodInfo  Lio/vertx/codegen/MethodInfo;
    MethodParameters:
            Name  Flags
      methodInfo  

  private boolean isObjectBound(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.type.TypeMirror bound
         0: .line 846
            aload 1 /* bound */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
            if_acmpne 1
            aload 1 /* bound */
            invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.lang.model.type.TypeMirror bound
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/codegen/ClassModel;
            0    2     1  bound  Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
       Name  Flags
      bound  

  public boolean isDeprecated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 853
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.deprecated:Z
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.doc.Text getDeprecatedDesc();
    descriptor: ()Lio/vertx/codegen/doc/Text;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 859
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.deprecatedDesc:Lio/vertx/codegen/doc/Text;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public java.util.Map<java.lang.String, java.lang.Object> getVars();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 864
            aload 0 /* this */
            invokespecial io.vertx.codegen.Model.getVars:()Ljava/util/Map;
            astore 1 /* vars */
        start local 1 // java.util.Map vars
         1: .line 865
            aload 1 /* vars */
            ldc "importedTypes"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getImportedTypes:()Ljava/util/Set;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 866
            aload 1 /* vars */
            ldc "concrete"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.isConcrete:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 867
            aload 1 /* vars */
            ldc "type"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getType:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 868
            aload 1 /* vars */
            ldc "ifacePackageName"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getIfacePackageName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 869
            aload 1 /* vars */
            ldc "ifaceSimpleName"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getIfaceSimpleName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 870
            aload 1 /* vars */
            ldc "ifaceFQCN"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getIfaceFQCN:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 871
            aload 1 /* vars */
            ldc "ifaceComment"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getIfaceComment:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 872
            aload 1 /* vars */
            ldc "doc"
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.doc:Lio/vertx/codegen/doc/Doc;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 873
            aload 1 /* vars */
            ldc "methods"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getMethods:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 874
            aload 1 /* vars */
            ldc "constants"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getConstants:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 875
            aload 1 /* vars */
            ldc "referencedTypes"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getReferencedTypes:()Ljava/util/Set;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 876
            aload 1 /* vars */
            ldc "superTypes"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getSuperTypes:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 877
            aload 1 /* vars */
            ldc "concreteSuperType"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getConcreteSuperType:()Lio/vertx/codegen/type/TypeInfo;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 878
            aload 1 /* vars */
            ldc "abstractSuperTypes"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getAbstractSuperTypes:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 879
            aload 1 /* vars */
            ldc "handlerType"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getHandlerArg:()Lio/vertx/codegen/type/TypeInfo;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 880
            aload 1 /* vars */
            ldc "methodsByName"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getMethodMap:()Ljava/util/Map;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 881
            aload 1 /* vars */
            ldc "classAnnotations"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getAnnotations:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 882
            aload 1 /* vars */
            ldc "annotationsByMethodName"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getMethodAnnotations:()Ljava/util/Map;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 883
            aload 1 /* vars */
            ldc "referencedDataObjectTypes"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getReferencedDataObjectTypes:()Ljava/util/Set;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 884
            aload 1 /* vars */
            ldc "referencedEnumTypes"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getReferencedEnumTypes:()Ljava/util/Set;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 885
            aload 1 /* vars */
            ldc "typeParams"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getTypeParams:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 886
            aload 1 /* vars */
            ldc "instanceMethods"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getInstanceMethods:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 887
            aload 1 /* vars */
            ldc "staticMethods"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getStaticMethods:()Ljava/util/List;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 888
            aload 1 /* vars */
            ldc "deprecated"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.isDeprecated:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 889
            aload 1 /* vars */
            ldc "deprecatedDesc"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.ClassModel.getDeprecatedDesc:()Lio/vertx/codegen/doc/Text;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 890
            aload 1 /* vars */
            areturn
        end local 1 // java.util.Map vars
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Lio/vertx/codegen/ClassModel;
            1   27     1  vars  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public boolean isHandler();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 894
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.handlerArg:Lio/vertx/codegen/type/TypeInfo;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.type.TypeInfo getHandlerArg();
    descriptor: ()Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 898
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.handlerArg:Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public boolean isReadStream();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 902
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.readStreamArg:Lio/vertx/codegen/type/TypeInfo;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.type.TypeInfo getReadStreamArg();
    descriptor: ()Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 906
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.readStreamArg:Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public boolean isWriteStream();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 910
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.writeStreamArg:Lio/vertx/codegen/type/TypeInfo;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.type.TypeInfo getWriteStreamArg();
    descriptor: ()Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 914
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.writeStreamArg:Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public boolean isIterable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 918
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.iterableArg:Lio/vertx/codegen/type/TypeInfo;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.type.TypeInfo getIterableArg();
    descriptor: ()Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 922
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.iterableArg:Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public boolean isIterator();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 926
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.iteratorArg:Lio/vertx/codegen/type/TypeInfo;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.type.TypeInfo getIteratorArg();
    descriptor: ()Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 930
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.iteratorArg:Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public boolean isFunction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 934
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.functionArgs:[Lio/vertx/codegen/type/TypeInfo;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/ClassModel;

  public io.vertx.codegen.type.TypeInfo[] getFunctionArgs();
    descriptor: ()[Lio/vertx/codegen/type/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.ClassModel this
         0: .line 938
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.functionArgs:[Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;

  public javax.lang.model.element.Element getElement();
    descriptor: ()Ljavax/lang/model/element/Element;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.codegen.ClassModel.getElement:()Ljavax/lang/model/element/TypeElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$io$vertx$codegen$type$ClassKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 46
            getstatic io.vertx.codegen.ClassModel.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.codegen.type.ClassKind.values:()[Lio/vertx/codegen/type/ClassKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 13
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.vertx.codegen.type.ClassKind.ASYNC_RESULT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 16
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.vertx.codegen.type.ClassKind.BOXED_PRIMITIVE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.vertx.codegen.type.ClassKind.CLASS_TYPE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 17
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.vertx.codegen.type.ClassKind.ENUM:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.vertx.codegen.type.ClassKind.FUNCTION:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 15
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.vertx.codegen.type.ClassKind.FUTURE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 18
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 14
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.vertx.codegen.type.ClassKind.JSON_ARRAY:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 6
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_5
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic io.vertx.codegen.type.ClassKind.LIST:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic io.vertx.codegen.type.ClassKind.MAP:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 12
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic io.vertx.codegen.type.ClassKind.OBJECT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 9
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic io.vertx.codegen.type.ClassKind.OTHER:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 19
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic io.vertx.codegen.type.ClassKind.PRIMITIVE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_3
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic io.vertx.codegen.type.ClassKind.SET:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 11
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic io.vertx.codegen.type.ClassKind.STRING:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_1
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic io.vertx.codegen.type.ClassKind.THROWABLE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 7
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic io.vertx.codegen.type.ClassKind.VOID:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 8
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            dup
            putstatic io.vertx.codegen.ClassModel.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$javax$lang$model$element$ElementKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 46
            getstatic io.vertx.codegen.ClassModel.$SWITCH_TABLE$javax$lang$model$element$ElementKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.lang.model.element.ElementKind.values:()[Ljavax/lang/model/element/ElementKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.lang.model.element.ElementKind.ANNOTATION_TYPE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.lang.model.element.ElementKind.CONSTRUCTOR:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 12
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.lang.model.element.ElementKind.ENUM:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.lang.model.element.ElementKind.ENUM_CONSTANT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.lang.model.element.ElementKind.EXCEPTION_PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 10
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic javax.lang.model.element.ElementKind.FIELD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic javax.lang.model.element.ElementKind.INSTANCE_INIT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 14
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_5
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic javax.lang.model.element.ElementKind.LOCAL_VARIABLE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 9
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic javax.lang.model.element.ElementKind.OTHER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 16
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_1
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic javax.lang.model.element.ElementKind.PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 8
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic javax.lang.model.element.ElementKind.RESOURCE_VARIABLE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 17
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic javax.lang.model.element.ElementKind.STATIC_INIT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 13
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic javax.lang.model.element.ElementKind.TYPE_PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 15
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            dup
            putstatic io.vertx.codegen.ClassModel.$SWITCH_TABLE$javax$lang$model$element$ElementKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError

  private static boolean lambda$1(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.MethodInfo m
         0: .line 144
            aload 0 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.isStaticMethod:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.vertx.codegen.MethodInfo m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     m  Lio/vertx/codegen/MethodInfo;

  private static int lambda$2(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.MethodInfo meth
         0: .line 250
            aload 0 /* meth */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // io.vertx.codegen.MethodInfo meth
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  meth  Lio/vertx/codegen/MethodInfo;

  private boolean lambda$4(io.vertx.codegen.type.ClassTypeInfo);
    descriptor: (Lio/vertx/codegen/type/ClassTypeInfo;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // io.vertx.codegen.type.ClassTypeInfo t
         0: .line 258
            aload 1 /* t */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getPackageName:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.ifaceFQCN:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // io.vertx.codegen.type.ClassTypeInfo t
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/ClassModel;
            0    3     1     t  Lio/vertx/codegen/type/ClassTypeInfo;

  private boolean lambda$6(io.vertx.codegen.type.ApiTypeInfo);
    descriptor: (Lio/vertx/codegen/type/ApiTypeInfo;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // io.vertx.codegen.type.ApiTypeInfo t
         0: .line 264
            aload 1 /* t */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ApiTypeInfo.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // io.vertx.codegen.type.ApiTypeInfo t
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/ClassModel;
            0    3     1     t  Lio/vertx/codegen/type/ApiTypeInfo;

  private static boolean lambda$10(io.vertx.codegen.type.EnumTypeInfo);
    descriptor: (Lio/vertx/codegen/type/EnumTypeInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.type.EnumTypeInfo t
         0: .line 275
            aload 0 /* t */
            invokevirtual io.vertx.codegen.type.EnumTypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.ENUM:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.vertx.codegen.type.EnumTypeInfo t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     t  Lio/vertx/codegen/type/EnumTypeInfo;

  private static boolean lambda$11(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.MethodInfo m
         0: .line 295
            aload 0 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getOwnerTypes:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.vertx.codegen.MethodInfo m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     m  Lio/vertx/codegen/MethodInfo;

  private boolean lambda$12(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // io.vertx.codegen.MethodInfo m
         0: .line 296
            aload 1 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getKind:()Lio/vertx/codegen/MethodKind;
            getstatic io.vertx.codegen.MethodKind.FUTURE:Lio/vertx/codegen/MethodKind;
            if_acmpne 1
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.futureMethods:Ljava/util/Set;
            aload 1 /* m */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // io.vertx.codegen.MethodInfo m
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/ClassModel;
            0    3     1     m  Lio/vertx/codegen/MethodInfo;

  private void lambda$13(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // io.vertx.codegen.MethodInfo meth
         0: .line 298
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.messager:Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.NOTE:Ljavax/tools/Diagnostic$Kind;
            new java.lang.StringBuilder
            dup
            ldc "Non future method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* meth */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;)V
         1: .line 299
            return
        end local 1 // io.vertx.codegen.MethodInfo meth
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/ClassModel;
            0    2     1  meth  Lio/vertx/codegen/MethodInfo;

  private static boolean lambda$15(io.vertx.codegen.doc.Tag);
    descriptor: (Lio/vertx/codegen/doc/Tag;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.doc.Tag tag
         0: .line 330
            aload 0 /* tag */
            invokevirtual io.vertx.codegen.doc.Tag.getName:()Ljava/lang/String;
            ldc "deprecated"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // io.vertx.codegen.doc.Tag tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   tag  Lio/vertx/codegen/doc/Tag;

  private void lambda$16(io.vertx.codegen.doc.Tag);
    descriptor: (Lio/vertx/codegen/doc/Tag;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // io.vertx.codegen.doc.Tag tag
         0: .line 331
            aload 0 /* this */
            new io.vertx.codegen.doc.Text
            dup
            aload 1 /* tag */
            invokevirtual io.vertx.codegen.doc.Tag.getValue:()Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.normalizeWhitespaces:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial io.vertx.codegen.doc.Text.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokestatic io.vertx.codegen.doc.Token.tagMapper:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;Ljavax/lang/model/element/TypeElement;)Ljava/util/function/Function;
            invokevirtual io.vertx.codegen.doc.Text.map:(Ljava/util/function/Function;)Lio/vertx/codegen/doc/Text;
            dup_x1
            putfield io.vertx.codegen.ClassModel.deprecatedDesc:Lio/vertx/codegen/doc/Text;
            return
        end local 1 // io.vertx.codegen.doc.Tag tag
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
            0    1     1   tag  Lio/vertx/codegen/doc/Tag;

  private boolean lambda$17(javax.lang.model.type.TypeMirror, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 2 // javax.lang.model.element.Element elt
         0: .line 429
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 2 /* elt */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
            aload 1
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // javax.lang.model.element.Element elt
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/ClassModel;
            0    3     2   elt  Ljavax/lang/model/element/Element;

  private void lambda$18(javax.lang.model.element.VariableElement);
    descriptor: (Ljavax/lang/model/element/VariableElement;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.element.VariableElement elt
         0: .line 432
            aload 1 /* elt */
            ldc Lio/vertx/codegen/annotations/GenIgnore;
            invokeinterface javax.lang.model.element.VariableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast io.vertx.codegen.annotations.GenIgnore
            astore 2 /* genIgnore */
        start local 2 // io.vertx.codegen.annotations.GenIgnore genIgnore
         1: .line 434
            aload 2 /* genIgnore */
            ifnull 6
         2: .line 435
            aload 2 /* genIgnore */
            invokeinterface io.vertx.codegen.annotations.GenIgnore.value:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            ldc "permitted-type"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 437
            return
         4: .line 439
      StackMap locals: io.vertx.codegen.annotations.GenIgnore
      StackMap stack:
            iconst_1
            istore 3 /* allowAnyJavaType */
        start local 3 // boolean allowAnyJavaType
         5: .line 440
            goto 7
        end local 3 // boolean allowAnyJavaType
         6: .line 441
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* allowAnyJavaType */
        start local 3 // boolean allowAnyJavaType
         7: .line 443
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* elt */
            iload 3 /* allowAnyJavaType */
            invokevirtual io.vertx.codegen.ClassModel.fieldMethod:(Ljavax/lang/model/element/VariableElement;Z)Lio/vertx/codegen/ConstantInfo;
            astore 4 /* cst */
        start local 4 // io.vertx.codegen.ConstantInfo cst
         8: .line 444
            aload 4 /* cst */
            ifnull 11
         9: .line 445
            aload 4 /* cst */
            invokevirtual io.vertx.codegen.ConstantInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokevirtual io.vertx.codegen.type.TypeInfo.collectImports:(Ljava/util/Collection;)V
        10: .line 446
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.constants:Ljava/util/List;
            aload 4 /* cst */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.vertx.codegen.ConstantInfo cst
        end local 3 // boolean allowAnyJavaType
        end local 2 // io.vertx.codegen.annotations.GenIgnore genIgnore
        11: .line 448
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.lang.model.element.VariableElement elt
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lio/vertx/codegen/ClassModel;
            0   12     1               elt  Ljavax/lang/model/element/VariableElement;
            1   11     2         genIgnore  Lio/vertx/codegen/annotations/GenIgnore;
            5    6     3  allowAnyJavaType  Z
            7   11     3  allowAnyJavaType  Z
            8   11     4               cst  Lio/vertx/codegen/ConstantInfo;

  private boolean lambda$19(javax.lang.model.type.TypeMirror, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 2 // javax.lang.model.element.Element elt
         0: .line 452
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 2 /* elt */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
            aload 1
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // javax.lang.model.element.Element elt
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/ClassModel;
            0    3     2   elt  Ljavax/lang/model/element/Element;

  private void lambda$20(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.element.ExecutableElement elt
         0: .line 455
            aload 1 /* elt */
            ldc Lio/vertx/codegen/annotations/GenIgnore;
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast io.vertx.codegen.annotations.GenIgnore
            astore 2 /* genIgnore */
        start local 2 // io.vertx.codegen.annotations.GenIgnore genIgnore
         1: .line 457
            aload 2 /* genIgnore */
            ifnull 6
         2: .line 458
            aload 2 /* genIgnore */
            invokeinterface io.vertx.codegen.annotations.GenIgnore.value:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            ldc "permitted-type"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 460
            return
         4: .line 462
      StackMap locals: io.vertx.codegen.annotations.GenIgnore
      StackMap stack:
            iconst_1
            istore 3 /* allowAnyJavaType */
        start local 3 // boolean allowAnyJavaType
         5: .line 463
            goto 7
        end local 3 // boolean allowAnyJavaType
         6: .line 464
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* allowAnyJavaType */
        start local 3 // boolean allowAnyJavaType
         7: .line 466
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* elt */
            iload 3 /* allowAnyJavaType */
            invokevirtual io.vertx.codegen.ClassModel.createMethod:(Ljavax/lang/model/element/ExecutableElement;Z)Lio/vertx/codegen/MethodInfo;
            astore 4 /* meth */
        start local 4 // io.vertx.codegen.MethodInfo meth
         8: .line 467
            aload 4 /* meth */
            ifnull 15
         9: .line 468
            aload 4 /* meth */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.collectedTypes:Ljava/util/Set;
            invokevirtual io.vertx.codegen.MethodInfo.collectImports:(Ljava/util/Collection;)V
        10: .line 469
            iload 3 /* allowAnyJavaType */
            ifeq 13
        11: .line 470
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.anyJavaTypeMethods:Ljava/util/LinkedHashMap;
            aload 1 /* elt */
            aload 4 /* meth */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 471
            goto 15
        13: .line 472
      StackMap locals: io.vertx.codegen.MethodInfo
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methodAnnotationsMap:Ljava/util/Map;
            aload 4 /* meth */
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aload 1 /* elt */
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotationMirrors:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.annotationValueInfoFactory:Lio/vertx/codegen/type/AnnotationValueInfoFactory;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lio/vertx/codegen/type/AnnotationValueInfoFactory;)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/codegen/type/AnnotationValueInfoFactory.processAnnotation(Ljavax/lang/model/element/AnnotationMirror;)Lio/vertx/codegen/type/AnnotationValueInfo; (5)
                  (Ljavax/lang/model/element/AnnotationMirror;)Lio/vertx/codegen/type/AnnotationValueInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 473
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.methods:Ljava/util/LinkedHashMap;
            aload 1 /* elt */
            aload 4 /* meth */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // io.vertx.codegen.MethodInfo meth
        end local 3 // boolean allowAnyJavaType
        end local 2 // io.vertx.codegen.annotations.GenIgnore genIgnore
        15: .line 476
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.lang.model.element.ExecutableElement elt
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lio/vertx/codegen/ClassModel;
            0   16     1               elt  Ljavax/lang/model/element/ExecutableElement;
            1   15     2         genIgnore  Lio/vertx/codegen/annotations/GenIgnore;
            5    6     3  allowAnyJavaType  Z
            7   15     3  allowAnyJavaType  Z
            8   15     4              meth  Lio/vertx/codegen/MethodInfo;

  private static boolean lambda$22(io.vertx.codegen.MethodInfo, io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/MethodInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.codegen.MethodInfo m
         0: .line 499
            aload 1 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aload 0
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // io.vertx.codegen.MethodInfo m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     m  Lio/vertx/codegen/MethodInfo;

  private static boolean lambda$23(io.vertx.codegen.Signature, io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/Signature;Lio/vertx/codegen/MethodInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.codegen.MethodInfo m
         0: .line 500
            aload 1 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getSignature:()Lio/vertx/codegen/Signature;
            aload 0
            invokevirtual io.vertx.codegen.Signature.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // io.vertx.codegen.MethodInfo m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     m  Lio/vertx/codegen/MethodInfo;

  private void lambda$24(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // java.util.Map$Entry entry
         0: .line 511
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 2 /* method */
        start local 2 // io.vertx.codegen.MethodInfo method
         1: .line 512
            aload 2 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnType:()Lio/vertx/codegen/type/TypeInfo;
            astore 3 /* returnType */
        start local 3 // io.vertx.codegen.type.TypeInfo returnType
         2: .line 516
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 4 /* methodElt */
        start local 4 // javax.lang.model.element.ExecutableElement methodElt
         3: .line 517
            aload 2 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.isFluent:()Z
            ifne 7
         4: .line 519
            aload 2 /* method */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.MethodInfo.isOwnedBy:(Lio/vertx/codegen/type/ClassTypeInfo;)Z
            ifeq 9
         5: .line 520
            aload 0 /* this */
            aload 4 /* methodElt */
            aload 3 /* returnType */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.anyJavaTypeMethods:Ljava/util/LinkedHashMap;
            aload 4 /* methodElt */
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
            invokevirtual io.vertx.codegen.ClassModel.checkReturnType:(Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/type/TypeInfo;Z)V
         6: .line 522
            goto 9
      StackMap locals: io.vertx.codegen.MethodInfo io.vertx.codegen.type.TypeInfo javax.lang.model.element.ExecutableElement
      StackMap stack:
         7: aload 3 /* returnType */
            invokevirtual io.vertx.codegen.type.TypeInfo.isNullable:()Z
            ifeq 9
         8: .line 523
            new io.vertx.codegen.GenException
            dup
            aload 4 /* methodElt */
            ldc "Fluent return type cannot be nullable"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        end local 4 // javax.lang.model.element.ExecutableElement methodElt
        end local 3 // io.vertx.codegen.type.TypeInfo returnType
        end local 2 // io.vertx.codegen.MethodInfo method
         9: .line 525
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Map$Entry entry
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lio/vertx/codegen/ClassModel;
            0   10     1       entry  Ljava/util/Map$Entry<Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codegen/MethodInfo;>;
            1    9     2      method  Lio/vertx/codegen/MethodInfo;
            2    9     3  returnType  Lio/vertx/codegen/type/TypeInfo;
            3    9     4   methodElt  Ljavax/lang/model/element/ExecutableElement;

  private static boolean lambda$26(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.MethodInfo meth
         0: .line 539
            aload 0 /* meth */
            invokevirtual io.vertx.codegen.MethodInfo.isContainingAnyJavaType:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.vertx.codegen.MethodInfo meth
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  meth  Lio/vertx/codegen/MethodInfo;

  private static io.vertx.codegen.type.TypeInfo lambda$27(io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/MethodInfo;)Lio/vertx/codegen/type/TypeInfo;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.MethodInfo meth
         0: .line 540
            aload 0 /* meth */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getErased:()Lio/vertx/codegen/type/TypeInfo;
            areturn
        end local 0 // io.vertx.codegen.MethodInfo meth
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  meth  Lio/vertx/codegen/MethodInfo;

  private static io.vertx.codegen.type.TypeInfo[] lambda$28(int);
    descriptor: (I)[Lio/vertx/codegen/type/TypeInfo;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray io.vertx.codegen.type.TypeInfo
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private int lambda$30(javax.lang.model.type.DeclaredType, javax.lang.model.type.DeclaredType);
    descriptor: (Ljavax/lang/model/type/DeclaredType;Ljavax/lang/model/type/DeclaredType;)I
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 1 // javax.lang.model.type.DeclaredType o1
        start local 2 // javax.lang.model.type.DeclaredType o2
         0: .line 667
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 1 /* o1 */
            aload 2 /* o2 */
            invokeinterface javax.lang.model.util.Types.isSubtype:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 2
         1: .line 668
            iconst_m1
            ireturn
         2: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 2 /* o2 */
            aload 1 /* o1 */
            invokeinterface javax.lang.model.util.Types.isSubtype:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 4
         3: .line 670
            iconst_1
            ireturn
         4: .line 672
      StackMap locals:
      StackMap stack:
            aload 1 /* o1 */
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 2 /* o2 */
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 2 // javax.lang.model.type.DeclaredType o2
        end local 1 // javax.lang.model.type.DeclaredType o1
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/codegen/ClassModel;
            0    5     1    o1  Ljavax/lang/model/type/DeclaredType;
            0    5     2    o2  Ljavax/lang/model/type/DeclaredType;

  private boolean lambda$31(javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.codegen.ClassModel this
        start local 2 // javax.lang.model.element.ExecutableElement meth
         0: .line 683
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1
            aload 2 /* meth */
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.util.Elements.overrides:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/TypeElement;)Z
            ireturn
        end local 2 // javax.lang.model.element.ExecutableElement meth
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/ClassModel;
            0    1     2  meth  Ljavax/lang/model/element/ExecutableElement;

  private void lambda$32(java.util.List, java.util.Set, javax.lang.model.element.TypeElement, javax.lang.model.element.ExecutableElement);
    descriptor: (Ljava/util/List;Ljava/util/Set;Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/ExecutableElement;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // io.vertx.codegen.ClassModel this
        start local 4 // javax.lang.model.element.ExecutableElement overridenMethodElt
         0: .line 685
            aload 1
            aload 4 /* overridenMethodElt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 686
            aload 2
            aload 0 /* this */
            getfield io.vertx.codegen.ClassModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 3
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.DeclaredType
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/DeclaredType;)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 687
            return
        end local 4 // javax.lang.model.element.ExecutableElement overridenMethodElt
        end local 0 // io.vertx.codegen.ClassModel this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lio/vertx/codegen/ClassModel;
            0    3     4  overridenMethodElt  Ljavax/lang/model/element/ExecutableElement;

  private static boolean lambda$33(io.vertx.codegen.doc.Tag);
    descriptor: (Lio/vertx/codegen/doc/Tag;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.doc.Tag tag
         0: .line 701
            aload 0 /* tag */
            invokevirtual io.vertx.codegen.doc.Tag.getName:()Ljava/lang/String;
            ldc "param"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // io.vertx.codegen.doc.Tag tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   tag  Lio/vertx/codegen/doc/Tag;

  private static void lambda$35(java.util.Map, io.vertx.codegen.doc.Tag$Param);
    descriptor: (Ljava/util/Map;Lio/vertx/codegen/doc/Tag$Param;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // io.vertx.codegen.doc.Tag$Param tag
         0: .line 703
            aload 0
            aload 1 /* tag */
            invokevirtual io.vertx.codegen.doc.Tag$Param.getParamName:()Ljava/lang/String;
            aload 1 /* tag */
            invokevirtual io.vertx.codegen.doc.Tag$Param.getParamDescription:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 1 // io.vertx.codegen.doc.Tag$Param tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   tag  Lio/vertx/codegen/doc/Tag$Param;

  private static boolean lambda$36(io.vertx.codegen.doc.Tag);
    descriptor: (Lio/vertx/codegen/doc/Tag;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.doc.Tag tag
         0: .line 707
            aload 0 /* tag */
            invokevirtual io.vertx.codegen.doc.Tag.getName:()Ljava/lang/String;
            ldc "return"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // io.vertx.codegen.doc.Tag tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   tag  Lio/vertx/codegen/doc/Tag;

  private static boolean lambda$37(io.vertx.codegen.doc.Tag);
    descriptor: (Lio/vertx/codegen/doc/Tag;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.doc.Tag tag
         0: .line 715
            aload 0 /* tag */
            invokevirtual io.vertx.codegen.doc.Tag.getName:()Ljava/lang/String;
            ldc "deprecated"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // io.vertx.codegen.doc.Tag tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   tag  Lio/vertx/codegen/doc/Tag;
}
SourceFile: "ClassModel.java"
InnerClasses:
  public Class = io.vertx.codegen.TypeParamInfo$Class of io.vertx.codegen.TypeParamInfo
  public Method = io.vertx.codegen.TypeParamInfo$Method of io.vertx.codegen.TypeParamInfo
  public Factory = io.vertx.codegen.doc.Doc$Factory of io.vertx.codegen.doc.Doc
  public Param = io.vertx.codegen.doc.Tag$Param of io.vertx.codegen.doc.Tag
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic