public class io.vertx.codegen.DataObjectModel implements io.vertx.codegen.Model
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.codegen.DataObjectModel
  super_class: java.lang.Object
{
  private static final int CTOR_NO_ARG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int CTOR_JSON_OBJECT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int CTOR_STRING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private final javax.lang.model.util.Elements elementUtils;
    descriptor: Ljavax/lang/model/util/Elements;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.lang.model.util.Types typeUtils;
    descriptor: Ljavax/lang/model/util/Types;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.codegen.doc.Doc$Factory docFactory;
    descriptor: Lio/vertx/codegen/doc/Doc$Factory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.codegen.type.TypeMirrorFactory typeFactory;
    descriptor: Lio/vertx/codegen/type/TypeMirrorFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.lang.model.element.TypeElement modelElt;
    descriptor: Ljavax/lang/model/element/TypeElement;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, io.vertx.codegen.PropertyInfo> propertyMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/codegen/PropertyInfo;>;

  private final java.util.Set<io.vertx.codegen.type.ClassTypeInfo> superTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  private final java.util.Set<io.vertx.codegen.type.ClassTypeInfo> abstractSuperTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  private final java.util.Set<io.vertx.codegen.type.ClassTypeInfo> importedTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

  private final io.vertx.codegen.type.AnnotationValueInfoFactory annotationValueInfoFactory;
    descriptor: Lio/vertx/codegen/type/AnnotationValueInfoFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean processed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean concrete;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isClass;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean generateConverter;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean inheritConverter;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean publicConverter;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int constructors;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean deprecated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.codegen.doc.Text deprecatedDesc;
    descriptor: Lio/vertx/codegen/doc/Text;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.codegen.type.ClassTypeInfo superType;
    descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.codegen.type.ClassTypeInfo type;
    descriptor: Lio/vertx/codegen/type/ClassTypeInfo;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.codegen.doc.Doc doc;
    descriptor: Lio/vertx/codegen/doc/Doc;
    flags: (0x0002) ACC_PRIVATE

  private boolean hasToJsonMethod;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean hasDecodeStaticMethod;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

  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$io$vertx$codegen$PropertyKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  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.DataObjectModel 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 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield io.vertx.codegen.DataObjectModel.propertyMap:Ljava/util/Map;
         2: .line 43
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield io.vertx.codegen.DataObjectModel.superTypes:Ljava/util/Set;
         3: .line 44
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield io.vertx.codegen.DataObjectModel.abstractSuperTypes:Ljava/util/Set;
         4: .line 45
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield io.vertx.codegen.DataObjectModel.importedTypes:Ljava/util/Set;
         5: .line 67
            aload 0 /* this */
            aload 1 /* env */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
            putfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
         6: .line 68
            aload 0 /* this */
            aload 1 /* env */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            putfield io.vertx.codegen.DataObjectModel.typeUtils:Ljavax/lang/model/util/Types;
         7: .line 69
            aload 0 /* this */
            aload 2 /* typeFactory */
            putfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
         8: .line 70
            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.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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.DataObjectModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
         9: .line 71
            aload 0 /* this */
            aload 3 /* modelElt */
            putfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
        10: .line 72
            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.DataObjectModel.annotationValueInfoFactory:Lio/vertx/codegen/type/AnnotationValueInfoFactory;
        11: .line 73
            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 12
            iconst_1
            goto 13
      StackMap locals: io.vertx.codegen.DataObjectModel javax.annotation.processing.ProcessingEnvironment io.vertx.codegen.type.TypeMirrorFactory javax.lang.model.element.TypeElement
      StackMap stack: io.vertx.codegen.DataObjectModel
        12: iconst_0
      StackMap locals: io.vertx.codegen.DataObjectModel javax.annotation.processing.ProcessingEnvironment io.vertx.codegen.type.TypeMirrorFactory javax.lang.model.element.TypeElement
      StackMap stack: io.vertx.codegen.DataObjectModel int
        13: putfield io.vertx.codegen.DataObjectModel.deprecated:Z
        14: .line 74
            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.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lio/vertx/codegen/DataObjectModel;
            0   15     1          env  Ljavax/annotation/processing/ProcessingEnvironment;
            0   15     2  typeFactory  Lio/vertx/codegen/type/TypeMirrorFactory;
            0   15     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.DataObjectModel this
         0: .line 78
            ldc "dataObject"
            areturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;

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

  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.DataObjectModel this
         0: .line 88
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getName:()Ljava/lang/String;
            areturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;

  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.DataObjectModel this
         0: .line 92
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            areturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;

  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.DataObjectModel this
         0: .line 96
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.doc:Lio/vertx/codegen/doc/Doc;
            areturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;

  public boolean isAbstract();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 100
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.concrete: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.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/DataObjectModel;

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

  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.DataObjectModel this
         0: .line 108
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.importedTypes:Ljava/util/Set;
            areturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;
    Signature: ()Ljava/util/Set<Lio/vertx/codegen/type/ClassTypeInfo;>;

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

  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.DataObjectModel this
         0: .line 117
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.annotations:Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;
    Signature: ()Ljava/util/List<Lio/vertx/codegen/type/AnnotationValueInfo;>;

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

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

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

  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.DataObjectModel this
         0: .line 133
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;

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

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

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

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

  public boolean isSerializable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 152
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.isDataObjectHolder:()Z
            ifeq 1
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getDataObject:()Lio/vertx/codegen/type/DataObjectInfo;
            invokevirtual io.vertx.codegen.type.DataObjectInfo.isSerializable:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/DataObjectModel;

  public boolean isDeserializable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 154
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.isDataObjectHolder:()Z
            ifeq 1
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getDataObject:()Lio/vertx/codegen/type/DataObjectInfo;
            invokevirtual io.vertx.codegen.type.DataObjectInfo.isDeserializable:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/DataObjectModel;

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

  public boolean hasEmptyConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 159
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.constructors:I
            iconst_1
            iand
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/DataObjectModel;

  public boolean hasJsonConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 162
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.constructors:I
            iconst_2
            iand
            iconst_2
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/DataObjectModel;

  public boolean hasStringConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 164
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.constructors:I
            iconst_4
            iand
            iconst_4
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/DataObjectModel;

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

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

  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.DataObjectModel this
         0: .line 180
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.deprecatedDesc:Lio/vertx/codegen/doc/Text;
            areturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;

  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.DataObjectModel this
         0: .line 185
            aload 0 /* this */
            invokespecial io.vertx.codegen.Model.getVars:()Ljava/util/Map;
            astore 1 /* vars */
        start local 1 // java.util.Map vars
         1: .line 186
            aload 1 /* vars */
            ldc "type"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 187
            aload 1 /* vars */
            ldc "doc"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.doc:Lio/vertx/codegen/doc/Doc;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 188
            aload 1 /* vars */
            ldc "generateConverter"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.generateConverter: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
         4: .line 189
            aload 1 /* vars */
            ldc "inheritConverter"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.inheritConverter: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
         5: .line 190
            aload 1 /* vars */
            ldc "publicConverter"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.publicConverter: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
         6: .line 191
            aload 1 /* vars */
            ldc "concrete"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.concrete: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
         7: .line 192
            aload 1 /* vars */
            ldc "isClass"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.isClass: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
         8: .line 193
            aload 1 /* vars */
            ldc "properties"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.propertyMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 194
            aload 1 /* vars */
            ldc "importedTypes"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.importedTypes:Ljava/util/Set;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 195
            aload 1 /* vars */
            ldc "superTypes"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.superTypes:Ljava/util/Set;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 196
            aload 1 /* vars */
            ldc "superType"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.superType:Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 197
            aload 1 /* vars */
            ldc "abstractSuperTypes"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.abstractSuperTypes:Ljava/util/Set;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 198
            aload 1 /* vars */
            ldc "hasToJsonMethod"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.hasToJsonMethod: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
        14: .line 199
            aload 1 /* vars */
            ldc "hasEmptyConstructor"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.hasEmptyConstructor:()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
        15: .line 200
            aload 1 /* vars */
            ldc "hasJsonConstructor"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.hasJsonConstructor:()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
        16: .line 201
            aload 1 /* vars */
            ldc "hasStringConstructor"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.hasStringConstructor:()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
        17: .line 202
            aload 1 /* vars */
            ldc "serializable"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.isSerializable:()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
        18: .line 203
            aload 1 /* vars */
            ldc "deserializable"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.isDeserializable:()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
        19: .line 204
            aload 1 /* vars */
            ldc "deprecated"
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.deprecated: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
        20: .line 205
            aload 1 /* vars */
            ldc "deprecatedDesc"
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.getDeprecatedDesc:()Lio/vertx/codegen/doc/Text;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 206
            aload 1 /* vars */
            areturn
        end local 1 // java.util.Map vars
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lio/vertx/codegen/DataObjectModel;
            1   22     1  vars  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public boolean process();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 210
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.processed:Z
            ifne 8
         1: .line 211
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            if_acmpeq 2
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            if_acmpne 7
         2: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.traverse:()V
         3: .line 213
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.processTypeAnnotations:()V
         4: .line 214
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.processImportedTypes:()V
         5: .line 215
            aload 0 /* this */
            iconst_1
            putfield io.vertx.codegen.DataObjectModel.processed:Z
         6: .line 216
            iconst_1
            ireturn
         7: .line 218
      StackMap locals:
      StackMap stack:
            new io.vertx.codegen.GenException
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            new java.lang.StringBuilder
            dup
            ldc "Data object "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " must be an interface or a class"
            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
         8: .line 221
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/vertx/codegen/DataObjectModel;

  private void traverse();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 225
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            ldc Lio/vertx/codegen/annotations/DataObject;
            invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast io.vertx.codegen.annotations.DataObject
            astore 1 /* ann */
        start local 1 // io.vertx.codegen.annotations.DataObject ann
         1: .line 226
            aload 0 /* this */
            aload 1 /* ann */
            invokeinterface io.vertx.codegen.annotations.DataObject.generateConverter:()Z
            putfield io.vertx.codegen.DataObjectModel.generateConverter:Z
         2: .line 227
            aload 0 /* this */
            aload 1 /* ann */
            invokeinterface io.vertx.codegen.annotations.DataObject.publicConverter:()Z
            putfield io.vertx.codegen.DataObjectModel.publicConverter:Z
         3: .line 228
            aload 0 /* this */
            aload 1 /* ann */
            invokeinterface io.vertx.codegen.annotations.DataObject.inheritConverter:()Z
            putfield io.vertx.codegen.DataObjectModel.inheritConverter:Z
         4: .line 229
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject
      StackMap stack: io.vertx.codegen.DataObjectModel
         5: iconst_0
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject
      StackMap stack: io.vertx.codegen.DataObjectModel int
         6: putfield io.vertx.codegen.DataObjectModel.isClass:Z
         7: .line 230
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.isClass:Z
            ifeq 8
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: io.vertx.codegen.DataObjectModel
         8: iconst_0
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject
      StackMap stack: io.vertx.codegen.DataObjectModel int
         9: putfield io.vertx.codegen.DataObjectModel.concrete:Z
        10: .line 232
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            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;
            checkcast io.vertx.codegen.type.ClassTypeInfo
            putfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
        11: .line 233
            goto 14
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
        12: pop
        13: .line 234
            new io.vertx.codegen.GenException
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            ldc "Data object must be a plain java class with no type parameters"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        14: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "@VertxGen"
            invokestatic io.vertx.codegen.Helper.checkUnderModule:(Lio/vertx/codegen/Model;Ljava/lang/String;)V
        15: .line 237
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokevirtual io.vertx.codegen.doc.Doc$Factory.createDoc:(Ljavax/lang/model/element/Element;)Lio/vertx/codegen/doc/Doc;
            putfield io.vertx.codegen.DataObjectModel.doc:Lio/vertx/codegen/doc/Doc;
        16: .line 238
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.doc:Lio/vertx/codegen/doc/Doc;
            ifnull 18
        17: .line 239
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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/DataObjectModel.lambda$0(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/DataObjectModel;)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/DataObjectModel.lambda$1(Lio/vertx/codegen/doc/Tag;)V (7)
                  (Lio/vertx/codegen/doc/Tag;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        18: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.getModule:()Lio/vertx/codegen/ModuleInfo;
            ifnonnull 20
        19: .line 243
            new io.vertx.codegen.GenException
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            ldc "Data object must have an ancestor package annotated with @ModuleGen"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        20: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.getInterfaces:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        21: .line 247
            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/DataObjectModel.lambda$2(Ljavax/lang/model/type/TypeMirror;)Z (6)
                  (Ljavax/lang/model/type/TypeMirror;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        22: .line 248
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/codegen/DataObjectModel;)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/DataObjectModel.lambda$3(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/ClassTypeInfo; (7)
                  (Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.abstractSuperTypes:Ljava/util/Set;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)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
                  java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
                  (Lio/vertx/codegen/type/ClassTypeInfo;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        23: .line 250
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.superTypes:Ljava/util/Set;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.abstractSuperTypes:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        24: .line 252
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.getSuperclass:()Ljavax/lang/model/type/TypeMirror;
            astore 3 /* superClass */
        start local 3 // javax.lang.model.type.TypeMirror superClass
        25: .line 253
            aload 3 /* superClass */
            instanceof javax.lang.model.type.DeclaredType
            ifeq 28
            aload 3 /* superClass */
            checkcast javax.lang.model.type.DeclaredType
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            ldc Lio/vertx/codegen/annotations/DataObject;
            invokeinterface javax.lang.model.element.Element.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 28
        26: .line 254
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 3 /* superClass */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ClassTypeInfo
            putfield io.vertx.codegen.DataObjectModel.superType:Lio/vertx/codegen/type/ClassTypeInfo;
        27: .line 255
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.superTypes:Ljava/util/Set;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.superType:Lio/vertx/codegen/type/ClassTypeInfo;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        28: .line 258
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject top javax.lang.model.type.TypeMirror
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* methodsElt */
        start local 4 // java.util.List methodsElt
        29: .line 259
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.util.Elements.getAllMembers:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 48
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject top javax.lang.model.type.TypeMirror java.util.List top java.util.Iterator
      StackMap stack:
        30: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            astore 5 /* enclosedElt */
        start local 5 // javax.lang.model.element.Element enclosedElt
        31: .line 260
            invokestatic io.vertx.codegen.DataObjectModel.$SWITCH_TABLE$javax$lang$model$element$ElementKind:()[I
            aload 5 /* enclosedElt */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iaload
            tableswitch { // 11 - 12
                   11: 35
                   12: 32
              default: 48
          }
        32: .line 262
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject top javax.lang.model.type.TypeMirror java.util.List javax.lang.model.element.Element java.util.Iterator
      StackMap stack:
            aload 5 /* enclosedElt */
            checkcast javax.lang.model.element.ExecutableElement
            astore 7 /* constrElt */
        start local 7 // javax.lang.model.element.ExecutableElement constrElt
        33: .line 263
            aload 0 /* this */
            aload 7 /* constrElt */
            invokevirtual io.vertx.codegen.DataObjectModel.processConstructor:(Ljavax/lang/model/element/ExecutableElement;)V
        34: .line 264
            goto 48
        end local 7 // javax.lang.model.element.ExecutableElement constrElt
        35: .line 266
      StackMap locals:
      StackMap stack:
            aload 5 /* enclosedElt */
            checkcast javax.lang.model.element.ExecutableElement
            astore 8 /* methodElt */
        start local 8 // javax.lang.model.element.ExecutableElement methodElt
        36: .line 267
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            ldc "toJson"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 40
        37: .line 268
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 40
        38: .line 269
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()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.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 40
        39: .line 270
            aload 0 /* this */
            iconst_1
            putfield io.vertx.codegen.DataObjectModel.hasToJsonMethod:Z
        40: .line 272
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject top javax.lang.model.type.TypeMirror java.util.List javax.lang.model.element.Element java.util.Iterator top javax.lang.model.element.ExecutableElement
      StackMap stack:
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            ldc "decode"
            invokeinterface javax.lang.model.element.Name.contentEquals:(Ljava/lang/CharSequence;)Z
            ifeq 46
        41: .line 273
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            iconst_2
            anewarray javax.lang.model.element.Modifier
            dup
            iconst_0
            getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
            aastore
            dup
            iconst_1
            getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
            ifeq 46
        42: .line 274
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 46
        43: .line 275
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            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;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 46
        44: .line 276
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 8 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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
            ifeq 46
        45: .line 277
            aload 0 /* this */
            iconst_1
            putfield io.vertx.codegen.DataObjectModel.hasDecodeStaticMethod:Z
        46: .line 279
      StackMap locals:
      StackMap stack:
            aload 8 /* methodElt */
            ldc Lio/vertx/codegen/annotations/GenIgnore;
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 48
        47: .line 280
            aload 4 /* methodsElt */
            aload 8 /* methodElt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // javax.lang.model.element.ExecutableElement methodElt
        end local 5 // javax.lang.model.element.Element enclosedElt
        48: .line 259
      StackMap locals: io.vertx.codegen.DataObjectModel io.vertx.codegen.annotations.DataObject top javax.lang.model.type.TypeMirror java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        49: .line 287
            aload 0 /* this */
            aload 4 /* methodsElt */
            invokevirtual io.vertx.codegen.DataObjectModel.processMethods:(Ljava/util/List;)V
        50: .line 290
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.propertyMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 5 /* props */
        start local 5 // java.util.ArrayList props
        51: .line 291
            aload 5 /* props */
            invokedynamic compare()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/DataObjectModel.lambda$5(Lio/vertx/codegen/PropertyInfo;Lio/vertx/codegen/PropertyInfo;)I (6)
                  (Lio/vertx/codegen/PropertyInfo;Lio/vertx/codegen/PropertyInfo;)I
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        52: .line 292
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.propertyMap:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        53: .line 293
            aload 5 /* props */
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/DataObjectModel;)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/DataObjectModel.lambda$6(Lio/vertx/codegen/PropertyInfo;)V (7)
                  (Lio/vertx/codegen/PropertyInfo;)V
            invokevirtual java.util.ArrayList.forEach:(Ljava/util/function/Consumer;)V
        54: .line 294
            return
        end local 5 // java.util.ArrayList props
        end local 4 // java.util.List methodsElt
        end local 3 // javax.lang.model.type.TypeMirror superClass
        end local 1 // io.vertx.codegen.annotations.DataObject ann
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   55     0         this  Lio/vertx/codegen/DataObjectModel;
            1   55     1          ann  Lio/vertx/codegen/annotations/DataObject;
           25   55     3   superClass  Ljavax/lang/model/type/TypeMirror;
           29   55     4   methodsElt  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
           31   48     5  enclosedElt  Ljavax/lang/model/element/Element;
           33   35     7    constrElt  Ljavax/lang/model/element/ExecutableElement;
           36   48     8    methodElt  Ljavax/lang/model/element/ExecutableElement;
           51   55     5        props  Ljava/util/ArrayList<Lio/vertx/codegen/PropertyInfo;>;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.ClassCastException

  private void processTypeAnnotations();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 297
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.util.Elements.getAllAnnotationMirrors:(Ljavax/lang/model/element/Element;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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
            putfield io.vertx.codegen.DataObjectModel.annotations:Ljava/util/List;
         1: .line 298
            return
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/DataObjectModel;

  private void processImportedTypes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.vertx.codegen.DataObjectModel this
         0: .line 301
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.propertyMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: io.vertx.codegen.DataObjectModel top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.PropertyInfo
            astore 1 /* property */
        start local 1 // io.vertx.codegen.PropertyInfo property
         2: .line 302
            aload 1 /* property */
            getfield io.vertx.codegen.PropertyInfo.type:Lio/vertx/codegen/type/TypeInfo;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.importedTypes:Ljava/util/Set;
            invokevirtual io.vertx.codegen.type.TypeInfo.collectImports:(Ljava/util/Collection;)V
        end local 1 // io.vertx.codegen.PropertyInfo property
         3: .line 301
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 304
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.importedTypes:Ljava/util/Set;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.superTypes:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()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.Collection
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 305
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.importedTypes:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 1 /* i */
        start local 1 // java.util.Iterator i
         6: goto 10
         7: .line 306
      StackMap locals: io.vertx.codegen.DataObjectModel java.util.Iterator
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.type.ClassTypeInfo
            astore 2 /* importedType */
        start local 2 // io.vertx.codegen.type.ClassTypeInfo importedType
         8: .line 307
            aload 2 /* importedType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getPackageName:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.type:Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getPackageName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 308
            aload 1 /* i */
            invokeinterface java.util.Iterator.remove:()V
        end local 2 // io.vertx.codegen.type.ClassTypeInfo importedType
        10: .line 305
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 1 // java.util.Iterator i
        11: .line 311
            return
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lio/vertx/codegen/DataObjectModel;
            2    3     1      property  Lio/vertx/codegen/PropertyInfo;
            6   11     1             i  Ljava/util/Iterator<Lio/vertx/codegen/type/ClassTypeInfo;>;
            8   10     2  importedType  Lio/vertx/codegen/type/ClassTypeInfo;

  private void processConstructor(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 1 // javax.lang.model.element.ExecutableElement constrElt
         0: .line 314
            aload 1 /* constrElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 16
         1: .line 315
            aload 1 /* constrElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            astore 2 /* ownerElt */
        start local 2 // javax.lang.model.element.Element ownerElt
         2: .line 316
            aload 2 /* ownerElt */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.Element.equals:(Ljava/lang/Object;)Z
            ifeq 16
         3: .line 317
            aload 1 /* constrElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            astore 3 /* parameters */
        start local 3 // java.util.List parameters
         4: .line 318
            aload 3 /* parameters */
            invokeinterface java.util.List.size:()I
            istore 4 /* size */
        start local 4 // int size
         5: .line 319
            iload 4 /* size */
            iconst_1
            if_icmpne 14
         6: .line 320
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 3 /* parameters */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            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 5 /* ti */
        start local 5 // io.vertx.codegen.type.TypeInfo ti
         7: .line 321
            aload 5 /* ti */
            instanceof io.vertx.codegen.type.ClassTypeInfo
            ifeq 16
         8: .line 322
            aload 5 /* ti */
            checkcast io.vertx.codegen.type.ClassTypeInfo
            astore 6 /* cl */
        start local 6 // io.vertx.codegen.type.ClassTypeInfo cl
         9: .line 323
            invokestatic io.vertx.codegen.DataObjectModel.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:()[I
            aload 6 /* cl */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 12
                    2: 13
                    3: 13
                    4: 13
                    5: 10
              default: 13
          }
        10: .line 325
      StackMap locals: io.vertx.codegen.DataObjectModel javax.lang.model.element.ExecutableElement javax.lang.model.element.Element java.util.List int io.vertx.codegen.type.TypeInfo io.vertx.codegen.type.ClassTypeInfo
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.vertx.codegen.DataObjectModel.constructors:I
            iconst_2
            ior
            putfield io.vertx.codegen.DataObjectModel.constructors:I
        11: .line 326
            goto 16
        12: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.vertx.codegen.DataObjectModel.constructors:I
            iconst_4
            ior
            putfield io.vertx.codegen.DataObjectModel.constructors:I
        end local 6 // io.vertx.codegen.type.ClassTypeInfo cl
        end local 5 // io.vertx.codegen.type.TypeInfo ti
        13: .line 332
      StackMap locals:
      StackMap stack:
            goto 16
      StackMap locals:
      StackMap stack:
        14: iload 4 /* size */
            ifne 16
        15: .line 333
            aload 0 /* this */
            dup
            getfield io.vertx.codegen.DataObjectModel.constructors:I
            iconst_1
            ior
            putfield io.vertx.codegen.DataObjectModel.constructors:I
        end local 4 // int size
        end local 3 // java.util.List parameters
        end local 2 // javax.lang.model.element.Element ownerElt
        16: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.lang.model.element.ExecutableElement constrElt
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lio/vertx/codegen/DataObjectModel;
            0   17     1   constrElt  Ljavax/lang/model/element/ExecutableElement;
            2   16     2    ownerElt  Ljavax/lang/model/element/Element;
            4   16     3  parameters  Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
            5   16     4        size  I
            7   13     5          ti  Lio/vertx/codegen/type/TypeInfo;
            9   13     6          cl  Lio/vertx/codegen/type/ClassTypeInfo;
    MethodParameters:
           Name  Flags
      constrElt  

  private void processMethods(java.util.List<javax.lang.model.element.ExecutableElement>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=2
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 1 // java.util.List methodsElt
         0: .line 344
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* getters */
        start local 2 // java.util.Map getters
         1: .line 345
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* setters */
        start local 3 // java.util.Map setters
         2: .line 346
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* adders */
        start local 4 // java.util.Map adders
         3: .line 347
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* annotations */
        start local 5 // java.util.Map annotations
         4: .line 349
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  io/vertx/codegen/DataObjectModel.lambda$8(Ljava/util/List;Ljava/util/List;)Ljava/util/List; (6)
                  (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            astore 6 /* merger */
        start local 6 // java.util.function.BiFunction merger
         5: .line 359
            goto 40
         6: .line 360
      StackMap locals: io.vertx.codegen.DataObjectModel java.util.List java.util.Map java.util.Map java.util.Map java.util.Map java.util.function.BiFunction
      StackMap stack:
            aload 1 /* methodsElt */
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 7 /* methodElt */
        start local 7 // javax.lang.model.element.ExecutableElement methodElt
         7: .line 361
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()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;
            ldc "java.lang.Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 40
         8: .line 362
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 40
         9: .line 363
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 364
            goto 40
        11: .line 366
      StackMap locals: javax.lang.model.element.ExecutableElement
      StackMap stack:
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 8 /* methodName */
        start local 8 // java.lang.String methodName
        12: .line 367
            aload 8 /* methodName */
            ldc "get"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 17
            aload 8 /* methodName */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmple 17
            aload 8 /* methodName */
            iconst_3
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 17
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 17
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 17
        13: .line 368
            aload 8 /* methodName */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.normalizePropertyName:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        14: .line 369
            aload 2 /* getters */
            aload 9 /* name */
            aload 7 /* methodElt */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 370
            aload 5 /* annotations */
            aload 9 /* name */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.util.Elements.getAllAnnotationMirrors:(Ljavax/lang/model/element/Element;)Ljava/util/List;
            aload 6 /* merger */
            invokeinterface java.util.Map.merge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.String name
        16: .line 371
            goto 40
      StackMap locals: java.lang.String
      StackMap stack:
        17: aload 8 /* methodName */
            ldc "is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
            aload 8 /* methodName */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmple 22
            aload 8 /* methodName */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 22
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 22
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 22
        18: .line 372
            aload 8 /* methodName */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.normalizePropertyName:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        19: .line 373
            aload 2 /* getters */
            aload 9 /* name */
            aload 7 /* methodElt */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 374
            aload 5 /* annotations */
            aload 9 /* name */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.util.Elements.getAllAnnotationMirrors:(Ljavax/lang/model/element/Element;)Ljava/util/List;
            aload 6 /* merger */
            invokeinterface java.util.Map.merge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.String name
        21: .line 375
            goto 40
      StackMap locals:
      StackMap stack:
        22: aload 8 /* methodName */
            ldc "set"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 23
            aload 8 /* methodName */
            ldc "add"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 40
      StackMap locals:
      StackMap stack:
        23: aload 8 /* methodName */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmple 40
            aload 8 /* methodName */
            iconst_3
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 40
        24: .line 376
            aload 8 /* methodName */
            iconst_0
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* prefix */
        start local 9 // java.lang.String prefix
        25: .line 377
            aload 8 /* methodName */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.normalizePropertyName:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* name */
        start local 10 // java.lang.String name
        26: .line 378
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 11 /* numParams */
        start local 11 // int numParams
        27: .line 379
            ldc "add"
            aload 9 /* prefix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        28: .line 380
            aload 10 /* name */
            ldc "s"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 30
        29: .line 381
            new io.vertx.codegen.GenException
            dup
            aload 7 /* methodElt */
            ldc "Option adder name must not terminate with 's' char"
            invokespecial io.vertx.codegen.GenException.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
            athrow
        30: .line 383
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 10 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "s"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* name */
        31: .line 385
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 12 /* t */
        start local 12 // javax.lang.model.type.TypeMirror t
        32: .line 386
            iload 11 /* numParams */
            iconst_1
            if_icmpeq 34
            iload 11 /* numParams */
            iconst_2
            if_icmpne 40
            aload 12 /* t */
            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 40
        33: .line 387
            aload 12 /* t */
            checkcast javax.lang.model.type.DeclaredType
            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;
            ldc "java.lang.String"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 40
        34: .line 388
      StackMap locals: javax.lang.model.type.TypeMirror
      StackMap stack:
            aload 4 /* adders */
            aload 10 /* name */
            aload 7 /* methodElt */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 389
            aload 5 /* annotations */
            aload 10 /* name */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.util.Elements.getAllAnnotationMirrors:(Ljavax/lang/model/element/Element;)Ljava/util/List;
            aload 6 /* merger */
            invokeinterface java.util.Map.merge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            pop
        end local 12 // javax.lang.model.type.TypeMirror t
        36: .line 391
            goto 40
        37: .line 392
      StackMap locals:
      StackMap stack:
            iload 11 /* numParams */
            iconst_1
            if_icmpne 40
        38: .line 393
            aload 3 /* setters */
            aload 10 /* name */
            aload 7 /* methodElt */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 394
            aload 5 /* annotations */
            aload 10 /* name */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 7 /* methodElt */
            invokeinterface javax.lang.model.util.Elements.getAllAnnotationMirrors:(Ljavax/lang/model/element/Element;)Ljava/util/List;
            aload 6 /* merger */
            invokeinterface java.util.Map.merge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            pop
        end local 11 // int numParams
        end local 10 // java.lang.String name
        end local 9 // java.lang.String prefix
        end local 8 // java.lang.String methodName
        end local 7 // javax.lang.model.element.ExecutableElement methodElt
        40: .line 359
      StackMap locals: io.vertx.codegen.DataObjectModel java.util.List java.util.Map java.util.Map java.util.Map java.util.Map java.util.function.BiFunction
      StackMap stack:
            aload 1 /* methodsElt */
            invokeinterface java.util.List.size:()I
            ifgt 6
        41: .line 400
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* names */
        start local 7 // java.util.Set names
        42: .line 401
            aload 7 /* names */
            aload 2 /* getters */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        43: .line 402
            aload 7 /* names */
            aload 3 /* setters */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        44: .line 403
            aload 7 /* names */
            aload 4 /* adders */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        45: .line 405
            aload 7 /* names */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 53
      StackMap locals: io.vertx.codegen.DataObjectModel java.util.List java.util.Map java.util.Map java.util.Map java.util.Map java.util.function.BiFunction java.util.Set top java.util.Iterator
      StackMap stack:
        46: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* name */
        start local 8 // java.lang.String name
        47: .line 407
            aload 0 /* this */
            invokevirtual io.vertx.codegen.DataObjectModel.getElement:()Ljavax/lang/model/element/Element;
            invokeinterface javax.lang.model.element.Element.getEnclosedElements:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        48: .line 408
            aload 8 /* name */
            invokedynamic test(Ljava/lang/String;)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/DataObjectModel.lambda$9(Ljava/lang/String;Ljavax/lang/model/element/Element;)Z (6)
                  (Ljavax/lang/model/element/Element;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        49: .line 409
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/codegen/DataObjectModel;)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/DataObjectModel.lambda$10(Ljavax/lang/model/element/Element;)Ljava/util/stream/Stream; (7)
                  (Ljavax/lang/model/element/Element;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(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
        50: .line 407
            astore 10 /* list */
        start local 10 // java.util.List list
        51: .line 410
            aload 10 /* list */
            invokeinterface java.util.List.size:()I
            ifle 53
        52: .line 411
            aload 5 /* annotations */
            aload 8 /* name */
            aload 10 /* list */
            aload 6 /* merger */
            invokeinterface java.util.Map.merge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            pop
        end local 10 // java.util.List list
        end local 8 // java.lang.String name
        53: .line 405
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        54: .line 414
            aload 7 /* names */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 57
      StackMap locals:
      StackMap stack:
        55: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* name */
        start local 8 // java.lang.String name
        56: .line 415
            aload 0 /* this */
            aload 8 /* name */
            aload 2 /* getters */
            aload 8 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            aload 3 /* setters */
            aload 8 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            aload 4 /* adders */
            aload 8 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            aload 5 /* annotations */
            aload 8 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            invokevirtual io.vertx.codegen.DataObjectModel.processMethod:(Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljava/util/List;)V
        end local 8 // java.lang.String name
        57: .line 414
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 55
        58: .line 417
            return
        end local 7 // java.util.Set names
        end local 6 // java.util.function.BiFunction merger
        end local 5 // java.util.Map annotations
        end local 4 // java.util.Map adders
        end local 3 // java.util.Map setters
        end local 2 // java.util.Map getters
        end local 1 // java.util.List methodsElt
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   59     0         this  Lio/vertx/codegen/DataObjectModel;
            0   59     1   methodsElt  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            1   59     2      getters  Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;>;
            2   59     3      setters  Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;>;
            3   59     4       adders  Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;>;
            4   59     5  annotations  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;>;
            5   59     6       merger  Ljava/util/function/BiFunction<Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;>;
            7   40     7    methodElt  Ljavax/lang/model/element/ExecutableElement;
           12   40     8   methodName  Ljava/lang/String;
           14   16     9         name  Ljava/lang/String;
           19   21     9         name  Ljava/lang/String;
           25   40     9       prefix  Ljava/lang/String;
           26   40    10         name  Ljava/lang/String;
           27   40    11    numParams  I
           32   36    12            t  Ljavax/lang/model/type/TypeMirror;
           42   59     7        names  Ljava/util/Set<Ljava/lang/String;>;
           47   53     8         name  Ljava/lang/String;
           51   53    10         list  Ljava/util/List<+Ljavax/lang/model/element/AnnotationMirror;>;
           56   57     8         name  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;)V
    MethodParameters:
            Name  Flags
      methodsElt  

  private void processMethod(java.lang.String, javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement, java.util.List<javax.lang.model.element.AnnotationMirror>);
    descriptor: (Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=18, args_size=6
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 1 // java.lang.String name
        start local 2 // javax.lang.model.element.ExecutableElement getterElt
        start local 3 // javax.lang.model.element.ExecutableElement setterElt
        start local 4 // javax.lang.model.element.ExecutableElement adderElt
        start local 5 // java.util.List annotationMirrors
         0: .line 421
            aconst_null
            astore 6 /* propKind */
        start local 6 // io.vertx.codegen.PropertyKind propKind
         1: .line 422
            aconst_null
            astore 7 /* propType */
        start local 7 // io.vertx.codegen.type.TypeInfo propType
         2: .line 423
            aconst_null
            astore 8 /* propTypeMirror */
        start local 8 // javax.lang.model.type.TypeMirror propTypeMirror
         3: .line 424
            iconst_0
            istore 9 /* propertyDeprecated */
        start local 9 // boolean propertyDeprecated
         4: .line 427
            aload 3 /* setterElt */
            ifnull 18
         5: .line 428
            aload 3 /* setterElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 10 /* paramElt */
        start local 10 // javax.lang.model.element.VariableElement paramElt
         6: .line 429
            aload 10 /* paramElt */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 8 /* propTypeMirror */
         7: .line 430
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 8 /* propTypeMirror */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 7 /* propType */
         8: .line 431
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokestatic io.vertx.codegen.PropertyKind.forType:(Lio/vertx/codegen/type/ClassKind;)Lio/vertx/codegen/PropertyKind;
            astore 6 /* propKind */
         9: .line 432
            iload 9 /* propertyDeprecated */
            aload 3 /* setterElt */
            ldc Ljava/lang/Deprecated;
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 10
            iconst_1
            goto 11
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int javax.lang.model.element.VariableElement
      StackMap stack: int
        10: iconst_0
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int javax.lang.model.element.VariableElement
      StackMap stack: int int
        11: ior
            istore 9 /* propertyDeprecated */
        12: .line 433
            invokestatic io.vertx.codegen.DataObjectModel.$SWITCH_TABLE$io$vertx$codegen$PropertyKind:()[I
            aload 6 /* propKind */
            invokevirtual io.vertx.codegen.PropertyKind.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 13
                    3: 13
                    4: 16
              default: 18
          }
        13: .line 436
      StackMap locals:
      StackMap stack:
            aload 7 /* propType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.type.TypeInfo
            astore 7 /* propType */
        14: .line 437
            aload 8 /* propTypeMirror */
            checkcast javax.lang.model.type.DeclaredType
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 8 /* propTypeMirror */
        15: .line 438
            goto 18
        16: .line 440
      StackMap locals:
      StackMap stack:
            aload 7 /* propType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.type.TypeInfo
            astore 7 /* propType */
        17: .line 441
            aload 8 /* propTypeMirror */
            checkcast javax.lang.model.type.DeclaredType
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 8 /* propTypeMirror */
        end local 10 // javax.lang.model.element.VariableElement paramElt
        18: .line 447
      StackMap locals:
      StackMap stack:
            aload 2 /* getterElt */
            ifnull 39
        19: .line 448
            aload 2 /* getterElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            astore 10 /* getterTypeMirror */
        start local 10 // javax.lang.model.type.TypeMirror getterTypeMirror
        20: .line 449
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 10 /* getterTypeMirror */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 11 /* getterType */
        start local 11 // io.vertx.codegen.type.TypeInfo getterType
        21: .line 450
            aload 11 /* getterType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokestatic io.vertx.codegen.PropertyKind.forType:(Lio/vertx/codegen/type/ClassKind;)Lio/vertx/codegen/PropertyKind;
            astore 12 /* getterKind */
        start local 12 // io.vertx.codegen.PropertyKind getterKind
        22: .line 451
            iload 9 /* propertyDeprecated */
            aload 2 /* getterElt */
            ldc Ljava/lang/Deprecated;
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 23
            iconst_1
            goto 24
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int javax.lang.model.type.TypeMirror io.vertx.codegen.type.TypeInfo io.vertx.codegen.PropertyKind
      StackMap stack: int
        23: iconst_0
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int javax.lang.model.type.TypeMirror io.vertx.codegen.type.TypeInfo io.vertx.codegen.PropertyKind
      StackMap stack: int int
        24: ior
            istore 9 /* propertyDeprecated */
        25: .line 452
            invokestatic io.vertx.codegen.DataObjectModel.$SWITCH_TABLE$io$vertx$codegen$PropertyKind:()[I
            aload 12 /* getterKind */
            invokevirtual io.vertx.codegen.PropertyKind.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 26
                    3: 26
                    4: 29
              default: 31
          }
        26: .line 455
      StackMap locals:
      StackMap stack:
            aload 11 /* getterType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.type.TypeInfo
            astore 11 /* getterType */
        27: .line 456
            aload 10 /* getterTypeMirror */
            checkcast javax.lang.model.type.DeclaredType
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 10 /* getterTypeMirror */
        28: .line 457
            goto 31
        29: .line 459
      StackMap locals:
      StackMap stack:
            aload 11 /* getterType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArgs:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.type.TypeInfo
            astore 11 /* getterType */
        30: .line 460
            aload 10 /* getterTypeMirror */
            checkcast javax.lang.model.type.DeclaredType
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 10 /* getterTypeMirror */
        31: .line 463
      StackMap locals:
      StackMap stack:
            aload 7 /* propType */
            ifnull 36
        32: .line 464
            aload 6 /* propKind */
            aload 12 /* getterKind */
            if_acmpeq 34
        33: .line 465
            new io.vertx.codegen.GenException
            dup
            aload 2 /* getterElt */
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " getter "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* getterKind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not match the setter "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* propKind */
            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
        34: .line 467
      StackMap locals:
      StackMap stack:
            aload 11 /* getterType */
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.equals:(Ljava/lang/Object;)Z
            ifne 39
        35: .line 468
            new io.vertx.codegen.GenException
            dup
            aload 2 /* getterElt */
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " getter type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* getterType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not match the setter type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* propType */
            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
        36: .line 471
      StackMap locals:
      StackMap stack:
            aload 10 /* getterTypeMirror */
            astore 8 /* propTypeMirror */
        37: .line 472
            aload 11 /* getterType */
            astore 7 /* propType */
        38: .line 473
            aload 12 /* getterKind */
            astore 6 /* propKind */
        end local 12 // io.vertx.codegen.PropertyKind getterKind
        end local 11 // io.vertx.codegen.type.TypeInfo getterType
        end local 10 // javax.lang.model.type.TypeMirror getterTypeMirror
        39: .line 478
      StackMap locals:
      StackMap stack:
            aload 4 /* adderElt */
            ifnull 67
        40: .line 479
            iload 9 /* propertyDeprecated */
            aload 4 /* adderElt */
            ldc Ljava/lang/Deprecated;
            invokeinterface javax.lang.model.element.ExecutableElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 41
            iconst_1
            goto 42
      StackMap locals:
      StackMap stack: int
        41: iconst_0
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int
      StackMap stack: int int
        42: ior
            istore 9 /* propertyDeprecated */
        43: .line 480
            aload 4 /* adderElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            tableswitch { // 1 - 2
                    1: 44
                    2: 56
              default: 67
          }
        44: .line 482
      StackMap locals:
      StackMap stack:
            aload 4 /* adderElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 10 /* paramElt */
        start local 10 // javax.lang.model.element.VariableElement paramElt
        45: .line 483
            aload 10 /* paramElt */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 11 /* adderTypeMirror */
        start local 11 // javax.lang.model.type.TypeMirror adderTypeMirror
        46: .line 484
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 11 /* adderTypeMirror */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 12 /* adderType */
        start local 12 // io.vertx.codegen.type.TypeInfo adderType
        47: .line 485
            aload 8 /* propTypeMirror */
            ifnull 52
        48: .line 486
            aload 6 /* propKind */
            getstatic io.vertx.codegen.PropertyKind.LIST:Lio/vertx/codegen/PropertyKind;
            if_acmpeq 50
            aload 6 /* propKind */
            getstatic io.vertx.codegen.PropertyKind.SET:Lio/vertx/codegen/PropertyKind;
            if_acmpeq 50
        49: .line 487
            new io.vertx.codegen.GenException
            dup
            aload 4 /* adderElt */
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "adder does not correspond to non list/set"
            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
        50: .line 489
      StackMap locals: javax.lang.model.element.VariableElement javax.lang.model.type.TypeMirror io.vertx.codegen.type.TypeInfo
      StackMap stack:
            aload 12 /* adderType */
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.equals:(Ljava/lang/Object;)Z
            ifne 67
        51: .line 490
            new io.vertx.codegen.GenException
            dup
            aload 4 /* adderElt */
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " adder type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* adderType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "  does not match the property type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* propType */
            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
        52: .line 493
      StackMap locals:
      StackMap stack:
            aload 11 /* adderTypeMirror */
            astore 8 /* propTypeMirror */
        53: .line 494
            aload 12 /* adderType */
            astore 7 /* propType */
        54: .line 495
            getstatic io.vertx.codegen.PropertyKind.LIST:Lio/vertx/codegen/PropertyKind;
            astore 6 /* propKind */
        55: .line 497
            goto 67
        end local 12 // io.vertx.codegen.type.TypeInfo adderType
        end local 11 // javax.lang.model.type.TypeMirror adderTypeMirror
        end local 10 // javax.lang.model.element.VariableElement paramElt
        56: .line 500
      StackMap locals:
      StackMap stack:
            aload 4 /* adderElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 10 /* paramElt */
        start local 10 // javax.lang.model.element.VariableElement paramElt
        57: .line 501
            aload 10 /* paramElt */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 11 /* adderTypeMirror */
        start local 11 // javax.lang.model.type.TypeMirror adderTypeMirror
        58: .line 502
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 11 /* adderTypeMirror */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            astore 12 /* adderType */
        start local 12 // io.vertx.codegen.type.TypeInfo adderType
        59: .line 503
            aload 8 /* propTypeMirror */
            ifnull 64
        60: .line 504
            aload 6 /* propKind */
            getstatic io.vertx.codegen.PropertyKind.MAP:Lio/vertx/codegen/PropertyKind;
            if_acmpeq 62
        61: .line 505
            new io.vertx.codegen.GenException
            dup
            aload 4 /* adderElt */
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "adder does not correspond to non map"
            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
        62: .line 507
      StackMap locals: javax.lang.model.element.VariableElement javax.lang.model.type.TypeMirror io.vertx.codegen.type.TypeInfo
      StackMap stack:
            aload 12 /* adderType */
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.equals:(Ljava/lang/Object;)Z
            ifne 67
        63: .line 508
            new io.vertx.codegen.GenException
            dup
            aload 4 /* adderElt */
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " adder type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* adderType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "  does not match the property type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* propType */
            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
        64: .line 511
      StackMap locals:
      StackMap stack:
            aload 11 /* adderTypeMirror */
            astore 8 /* propTypeMirror */
        65: .line 512
            aload 12 /* adderType */
            astore 7 /* propType */
        66: .line 513
            getstatic io.vertx.codegen.PropertyKind.MAP:Lio/vertx/codegen/PropertyKind;
            astore 6 /* propKind */
        end local 12 // io.vertx.codegen.type.TypeInfo adderType
        end local 11 // javax.lang.model.type.TypeMirror adderTypeMirror
        end local 10 // javax.lang.model.element.VariableElement paramElt
        67: .line 517
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.codegen.DataObjectModel.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:()[I
        68: .line 522
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iaload
            tableswitch { // 1 - 19
                    1: 71
                    2: 71
                    3: 71
                    4: 71
                    5: 71
                    6: 71
                    7: 80
                    8: 80
                    9: 69
                   10: 80
                   11: 80
                   12: 80
                   13: 73
                   14: 80
                   15: 80
                   16: 80
                   17: 80
                   18: 80
                   19: 73
              default: 80
          }
        69: .line 524
      StackMap locals:
      StackMap stack:
            aload 6 /* propKind */
            getstatic io.vertx.codegen.PropertyKind.VALUE:Lio/vertx/codegen/PropertyKind;
            if_acmpne 71
        70: .line 525
            return
        71: .line 533
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 10 /* jsonifiable */
        start local 10 // boolean jsonifiable
        72: .line 534
            goto 81
        end local 10 // boolean jsonifiable
        73: .line 537
      StackMap locals:
      StackMap stack:
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            ldc Ljava/time/Instant;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 77
        74: .line 538
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            ldc "io.vertx.core.buffer.Buffer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 77
        75: .line 539
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.isDataObjectHolder:()Z
            ifeq 76
            aload 7 /* propType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getDataObject:()Lio/vertx/codegen/type/DataObjectInfo;
            invokevirtual io.vertx.codegen.type.DataObjectInfo.isSerializable:()Z
            ifne 77
        76: .line 537
      StackMap locals:
      StackMap stack:
            iconst_0
            goto 78
      StackMap locals:
      StackMap stack:
        77: iconst_1
      StackMap locals:
      StackMap stack: int
        78: istore 10 /* jsonifiable */
        start local 10 // boolean jsonifiable
        79: .line 540
            goto 81
        end local 10 // boolean jsonifiable
        80: .line 542
      StackMap locals:
      StackMap stack:
            return
        start local 10 // boolean jsonifiable
        81: .line 545
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 11 /* declared */
        start local 11 // boolean declared
        82: .line 546
            aconst_null
            astore 12 /* doc */
        start local 12 // io.vertx.codegen.doc.Doc doc
        83: .line 547
            iconst_3
            anewarray javax.lang.model.element.ExecutableElement
            dup
            iconst_0
            aload 3 /* setterElt */
            aastore
            dup
            iconst_1
            aload 4 /* adderElt */
            aastore
            dup
            iconst_2
            aload 2 /* getterElt */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 107
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc top java.util.Iterator
      StackMap stack:
        84: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 13 /* methodElt */
        start local 13 // javax.lang.model.element.ExecutableElement methodElt
        85: .line 548
            aload 13 /* methodElt */
            ifnull 107
        86: .line 553
            aload 0 /* this */
            aload 13 /* methodElt */
            invokedynamic apply(Lio/vertx/codegen/DataObjectModel;Ljavax/lang/model/element/ExecutableElement;)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/DataObjectModel.lambda$11(Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Boolean;)Ljava/util/stream/Stream; (7)
                  (Ljava/lang/Boolean;)Ljava/util/stream/Stream;
            astore 15 /* overridenMeths */
        start local 15 // java.util.function.Function overridenMeths
        87: .line 566
            aload 12 /* doc */
            ifnonnull 96
        88: .line 567
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
            aload 13 /* methodElt */
            invokevirtual io.vertx.codegen.doc.Doc$Factory.createDoc:(Ljavax/lang/model/element/Element;)Lio/vertx/codegen/doc/Doc;
            astore 12 /* doc */
        89: .line 568
            aload 12 /* doc */
            ifnonnull 96
        90: .line 569
            aload 15 /* overridenMeths */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.stream.Stream
        91: .line 570
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.docFactory:Lio/vertx/codegen/doc/Doc$Factory;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lio/vertx/codegen/doc/Doc$Factory;)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/Doc$Factory.createDoc(Ljavax/lang/model/element/Element;)Lio/vertx/codegen/doc/Doc; (5)
                  (Ljavax/lang/model/element/ExecutableElement;)Lio/vertx/codegen/doc/Doc;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        92: .line 571
            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/DataObjectModel.lambda$17(Lio/vertx/codegen/doc/Doc;)Z (6)
                  (Lio/vertx/codegen/doc/Doc;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        93: .line 572
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
        94: .line 569
            astore 16 /* first */
        start local 16 // java.util.Optional first
        95: .line 573
            aload 16 /* first */
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.codegen.doc.Doc
            astore 12 /* doc */
        end local 16 // java.util.Optional first
        96: .line 578
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc javax.lang.model.element.ExecutableElement java.util.Iterator java.util.function.Function
      StackMap stack:
            iload 11 /* declared */
            ifne 107
        97: .line 579
            aload 13 /* methodElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            astore 16 /* ownerElt */
        start local 16 // javax.lang.model.element.Element ownerElt
        98: .line 580
            aload 16 /* ownerElt */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.modelElt:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.Element.equals:(Ljava/lang/Object;)Z
            ifeq 104
        99: .line 581
            aload 15 /* overridenMeths */
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.stream.Stream
            lconst_1
            invokeinterface java.util.stream.Stream.limit:(J)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/DataObjectModel.lambda$18(Ljavax/lang/model/element/ExecutableElement;)Z (6)
                  (Ljavax/lang/model/element/ExecutableElement;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.toArray:()[Ljava/lang/Object;
            astore 17 /* arr */
        start local 17 // java.lang.Object[] arr
       100: .line 583
            aload 17 /* arr */
            arraylength
            ifne 101
            iconst_1
            goto 102
      StackMap locals: javax.lang.model.element.Element java.lang.Object[]
      StackMap stack:
       101: iconst_0
      StackMap locals:
      StackMap stack: int
       102: istore 11 /* declared */
        end local 17 // java.lang.Object[] arr
       103: .line 584
            goto 107
       104: .line 585
      StackMap locals:
      StackMap stack:
            aload 16 /* ownerElt */
            ldc Lio/vertx/codegen/annotations/DataObject;
            invokeinterface javax.lang.model.element.Element.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 105
            iconst_1
            goto 106
      StackMap locals:
      StackMap stack:
       105: iconst_0
      StackMap locals:
      StackMap stack: int
       106: istore 11 /* declared */
        end local 16 // javax.lang.model.element.Element ownerElt
        end local 15 // java.util.function.Function overridenMeths
        end local 13 // javax.lang.model.element.ExecutableElement methodElt
       107: .line 547
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
       108: .line 591
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 13 /* annotationValueInfos */
        start local 13 // java.util.List annotationValueInfos
       109: .line 593
            aload 5 /* annotationMirrors */
            ifnull 111
       110: .line 594
            aload 5 /* annotationMirrors */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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;
            aload 13 /* annotationValueInfos */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)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
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Lio/vertx/codegen/type/AnnotationValueInfo;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
       111: .line 597
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List
      StackMap stack:
            aconst_null
            astore 16 /* propertyDeprecatedDesc */
        start local 16 // io.vertx.codegen.doc.Text propertyDeprecatedDesc
       112: .line 598
            aload 12 /* doc */
            ifnull 121
       113: .line 599
            aload 12 /* doc */
       114: .line 600
            invokevirtual io.vertx.codegen.doc.Doc.getBlockTags:()Ljava/util/List;
       115: .line 601
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
       116: .line 602
            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/DataObjectModel.lambda$21(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;
       117: .line 603
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
       118: .line 599
            astore 17 /* methodDeprecatedTag */
        start local 17 // java.util.Optional methodDeprecatedTag
       119: .line 604
            aload 17 /* methodDeprecatedTag */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 121
       120: .line 605
            new io.vertx.codegen.doc.Text
            dup
            aload 17 /* 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.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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 16 /* propertyDeprecatedDesc */
        end local 17 // java.util.Optional methodDeprecatedTag
       121: .line 609
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List top top io.vertx.codegen.doc.Text
      StackMap stack:
            new io.vertx.codegen.PropertyInfo
            dup
            iload 11 /* declared */
            aload 1 /* name */
            aload 12 /* doc */
            aload 7 /* propType */
       122: .line 610
            aload 3 /* setterElt */
            ifnull 123
            aload 3 /* setterElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            goto 124
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List top top io.vertx.codegen.doc.Text
      StackMap stack: new 121 new 121 int java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.type.TypeInfo
       123: aconst_null
       124: .line 611
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List top top io.vertx.codegen.doc.Text
      StackMap stack: new 121 new 121 int java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.type.TypeInfo java.lang.String
            aload 4 /* adderElt */
            ifnull 125
            aload 4 /* adderElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            goto 126
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List top top io.vertx.codegen.doc.Text
      StackMap stack: new 121 new 121 int java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.type.TypeInfo java.lang.String
       125: aconst_null
       126: .line 612
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List top top io.vertx.codegen.doc.Text
      StackMap stack: new 121 new 121 int java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.type.TypeInfo java.lang.String java.lang.String
            aload 2 /* getterElt */
            ifnull 127
            aload 2 /* getterElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            goto 128
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List top top io.vertx.codegen.doc.Text
      StackMap stack: new 121 new 121 int java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.type.TypeInfo java.lang.String java.lang.String
       127: aconst_null
       128: .line 613
      StackMap locals: io.vertx.codegen.DataObjectModel java.lang.String javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.List io.vertx.codegen.PropertyKind io.vertx.codegen.type.TypeInfo javax.lang.model.type.TypeMirror int int int io.vertx.codegen.doc.Doc java.util.List top top io.vertx.codegen.doc.Text
      StackMap stack: new 121 new 121 int java.lang.String io.vertx.codegen.doc.Doc io.vertx.codegen.type.TypeInfo java.lang.String java.lang.String java.lang.String
            aload 13 /* annotationValueInfos */
            aload 6 /* propKind */
            iload 10 /* jsonifiable */
            iload 9 /* propertyDeprecated */
            aload 16 /* propertyDeprecatedDesc */
       129: .line 609
            invokespecial io.vertx.codegen.PropertyInfo.<init>:(ZLjava/lang/String;Lio/vertx/codegen/doc/Doc;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lio/vertx/codegen/PropertyKind;ZZLio/vertx/codegen/doc/Text;)V
            astore 17 /* property */
        start local 17 // io.vertx.codegen.PropertyInfo property
       130: .line 614
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.propertyMap:Ljava/util/Map;
            aload 17 /* property */
            getfield io.vertx.codegen.PropertyInfo.name:Ljava/lang/String;
            aload 17 /* property */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       131: .line 615
            return
        end local 17 // io.vertx.codegen.PropertyInfo property
        end local 16 // io.vertx.codegen.doc.Text propertyDeprecatedDesc
        end local 13 // java.util.List annotationValueInfos
        end local 12 // io.vertx.codegen.doc.Doc doc
        end local 11 // boolean declared
        end local 10 // boolean jsonifiable
        end local 9 // boolean propertyDeprecated
        end local 8 // javax.lang.model.type.TypeMirror propTypeMirror
        end local 7 // io.vertx.codegen.type.TypeInfo propType
        end local 6 // io.vertx.codegen.PropertyKind propKind
        end local 5 // java.util.List annotationMirrors
        end local 4 // javax.lang.model.element.ExecutableElement adderElt
        end local 3 // javax.lang.model.element.ExecutableElement setterElt
        end local 2 // javax.lang.model.element.ExecutableElement getterElt
        end local 1 // java.lang.String name
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  132     0                    this  Lio/vertx/codegen/DataObjectModel;
            0  132     1                    name  Ljava/lang/String;
            0  132     2               getterElt  Ljavax/lang/model/element/ExecutableElement;
            0  132     3               setterElt  Ljavax/lang/model/element/ExecutableElement;
            0  132     4                adderElt  Ljavax/lang/model/element/ExecutableElement;
            0  132     5       annotationMirrors  Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
            1  132     6                propKind  Lio/vertx/codegen/PropertyKind;
            2  132     7                propType  Lio/vertx/codegen/type/TypeInfo;
            3  132     8          propTypeMirror  Ljavax/lang/model/type/TypeMirror;
            4  132     9      propertyDeprecated  Z
            6   18    10                paramElt  Ljavax/lang/model/element/VariableElement;
           20   39    10        getterTypeMirror  Ljavax/lang/model/type/TypeMirror;
           21   39    11              getterType  Lio/vertx/codegen/type/TypeInfo;
           22   39    12              getterKind  Lio/vertx/codegen/PropertyKind;
           45   56    10                paramElt  Ljavax/lang/model/element/VariableElement;
           46   56    11         adderTypeMirror  Ljavax/lang/model/type/TypeMirror;
           47   56    12               adderType  Lio/vertx/codegen/type/TypeInfo;
           57   67    10                paramElt  Ljavax/lang/model/element/VariableElement;
           58   67    11         adderTypeMirror  Ljavax/lang/model/type/TypeMirror;
           59   67    12               adderType  Lio/vertx/codegen/type/TypeInfo;
           72   73    10             jsonifiable  Z
           79   80    10             jsonifiable  Z
           81  132    10             jsonifiable  Z
           82  132    11                declared  Z
           83  132    12                     doc  Lio/vertx/codegen/doc/Doc;
           85  107    13               methodElt  Ljavax/lang/model/element/ExecutableElement;
           87  107    15          overridenMeths  Ljava/util/function/Function<Ljava/lang/Boolean;Ljava/util/stream/Stream<Ljavax/lang/model/element/ExecutableElement;>;>;
           95   96    16                   first  Ljava/util/Optional<Lio/vertx/codegen/doc/Doc;>;
           98  107    16                ownerElt  Ljavax/lang/model/element/Element;
          100  103    17                     arr  [Ljava/lang/Object;
          109  132    13    annotationValueInfos  Ljava/util/List<Lio/vertx/codegen/type/AnnotationValueInfo;>;
          112  132    16  propertyDeprecatedDesc  Lio/vertx/codegen/doc/Text;
          119  121    17     methodDeprecatedTag  Ljava/util/Optional<Lio/vertx/codegen/doc/Tag;>;
          130  132    17                property  Lio/vertx/codegen/PropertyInfo;
    Signature: (Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;)V
    MethodParameters:
                   Name  Flags
      name               
      getterElt          
      setterElt          
      adderElt           
      annotationMirrors  

  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 30
            getstatic io.vertx.codegen.DataObjectModel.$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.DataObjectModel.$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

  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 30
            getstatic io.vertx.codegen.DataObjectModel.$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.DataObjectModel.$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$io$vertx$codegen$PropertyKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 30
            getstatic io.vertx.codegen.DataObjectModel.$SWITCH_TABLE$io$vertx$codegen$PropertyKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.codegen.PropertyKind.values:()[Lio/vertx/codegen/PropertyKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.codegen.PropertyKind.LIST:Lio/vertx/codegen/PropertyKind;
            invokevirtual io.vertx.codegen.PropertyKind.ordinal:()I
            iconst_2
            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.PropertyKind.MAP:Lio/vertx/codegen/PropertyKind;
            invokevirtual io.vertx.codegen.PropertyKind.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.vertx.codegen.PropertyKind.SET:Lio/vertx/codegen/PropertyKind;
            invokevirtual io.vertx.codegen.PropertyKind.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.vertx.codegen.PropertyKind.VALUE:Lio/vertx/codegen/PropertyKind;
            invokevirtual io.vertx.codegen.PropertyKind.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic io.vertx.codegen.DataObjectModel.$SWITCH_TABLE$io$vertx$codegen$PropertyKind:[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

  private static boolean lambda$0(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 239
            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$1(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.DataObjectModel this
        start local 1 // io.vertx.codegen.doc.Tag tag
         0: .line 240
            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.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeUtils:Ljavax/lang/model/util/Types;
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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.DataObjectModel.deprecatedDesc:Lio/vertx/codegen/doc/Text;
            return
        end local 1 // io.vertx.codegen.doc.Tag tag
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;
            0    1     1   tag  Lio/vertx/codegen/doc/Tag;

  private static boolean lambda$2(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.lang.model.type.TypeMirror superTM
         0: .line 247
            aload 0 /* superTM */
            instanceof javax.lang.model.type.DeclaredType
            ifeq 1
            aload 0 /* superTM */
            checkcast javax.lang.model.type.DeclaredType
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            ldc Lio/vertx/codegen/annotations/DataObject;
            invokeinterface javax.lang.model.element.Element.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // javax.lang.model.type.TypeMirror superTM
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  superTM  Ljavax/lang/model/type/TypeMirror;

  private io.vertx.codegen.type.ClassTypeInfo lambda$3(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/ClassTypeInfo;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 1 // javax.lang.model.type.TypeMirror e
         0: .line 248
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.typeFactory:Lio/vertx/codegen/type/TypeMirrorFactory;
            aload 1 /* e */
            invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ClassTypeInfo
            areturn
        end local 1 // javax.lang.model.type.TypeMirror e
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;
            0    1     1     e  Ljavax/lang/model/type/TypeMirror;

  private static int lambda$5(io.vertx.codegen.PropertyInfo, io.vertx.codegen.PropertyInfo);
    descriptor: (Lio/vertx/codegen/PropertyInfo;Lio/vertx/codegen/PropertyInfo;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.PropertyInfo p1
        start local 1 // io.vertx.codegen.PropertyInfo p2
         0: .line 291
            aload 0 /* p1 */
            getfield io.vertx.codegen.PropertyInfo.name:Ljava/lang/String;
            aload 1 /* p2 */
            getfield io.vertx.codegen.PropertyInfo.name:Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // io.vertx.codegen.PropertyInfo p2
        end local 0 // io.vertx.codegen.PropertyInfo p1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    p1  Lio/vertx/codegen/PropertyInfo;
            0    1     1    p2  Lio/vertx/codegen/PropertyInfo;

  private void lambda$6(io.vertx.codegen.PropertyInfo);
    descriptor: (Lio/vertx/codegen/PropertyInfo;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 1 // io.vertx.codegen.PropertyInfo prop
         0: .line 293
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.propertyMap:Ljava/util/Map;
            aload 1 /* prop */
            getfield io.vertx.codegen.PropertyInfo.name:Ljava/lang/String;
            aload 1 /* prop */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 1 // io.vertx.codegen.PropertyInfo prop
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;
            0    1     1  prop  Lio/vertx/codegen/PropertyInfo;

  private static java.util.List lambda$8(java.util.List, java.util.List);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.List a
        start local 1 // java.util.List b
         0: .line 350
            aload 1 /* b */
            invokeinterface java.util.List.size:()I
            ifle 4
         1: .line 351
            aload 0 /* a */
            instanceof java.util.ArrayList
            ifne 3
         2: .line 352
            new java.util.ArrayList
            dup
            aload 0 /* a */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 0 /* a */
         3: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            aload 1 /* b */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            areturn
        end local 1 // java.util.List b
        end local 0 // java.util.List a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
            0    5     1     b  Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;

  private static boolean lambda$9(java.lang.String, javax.lang.model.element.Element);
    descriptor: (Ljava/lang/String;Ljavax/lang/model/element/Element;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // javax.lang.model.element.Element e
         0: .line 408
            aload 1 /* e */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.FIELD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 1 /* e */
            invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 0
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // javax.lang.model.element.Element e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     e  Ljavax/lang/model/element/Element;

  private java.util.stream.Stream lambda$10(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljava/util/stream/Stream;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 1 // javax.lang.model.element.Element e
         0: .line 409
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* e */
            invokeinterface javax.lang.model.util.Elements.getAllAnnotationMirrors:(Ljavax/lang/model/element/Element;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // javax.lang.model.element.Element e
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;
            0    1     1     e  Ljavax/lang/model/element/Element;

  private java.util.stream.Stream lambda$11(javax.lang.model.element.ExecutableElement, java.lang.Boolean);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Boolean;)Ljava/util/stream/Stream;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 2 // java.lang.Boolean annotated
         0: .line 554
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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;
            astore 3 /* ancestorTypes */
        start local 3 // java.util.Set ancestorTypes
         1: .line 555
            aload 3 /* ancestorTypes */
         2: .line 556
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         3: .line 557
            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;
                  javax/lang/model/type/DeclaredType.asElement()Ljavax/lang/model/element/Element; (9 itf)
                  (Ljavax/lang/model/type/DeclaredType;)Ljavax/lang/model/element/Element;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 558
            aload 2 /* annotated */
            invokedynamic test(Ljava/lang/Boolean;)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/DataObjectModel.lambda$13(Ljava/lang/Boolean;Ljavax/lang/model/element/Element;)Z (6)
                  (Ljavax/lang/model/element/Element;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         5: .line 559
            ldc Ljavax/lang/model/element/TypeElement;
            invokestatic io.vertx.codegen.Helper.cast:(Ljava/lang/Class;)Ljava/util/function/Function;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         6: .line 560
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/codegen/DataObjectModel;)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/DataObjectModel.lambda$14(Ljavax/lang/model/element/TypeElement;)Ljava/util/stream/Stream; (7)
                  (Ljavax/lang/model/element/TypeElement;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         7: .line 561
            ldc Ljavax/lang/model/element/ExecutableElement;
            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;
         8: .line 562
            aload 0 /* this */
            aload 1
            invokedynamic test(Lio/vertx/codegen/DataObjectModel;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/DataObjectModel.lambda$15(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;
         9: .line 555
            areturn
        end local 3 // java.util.Set ancestorTypes
        end local 2 // java.lang.Boolean annotated
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lio/vertx/codegen/DataObjectModel;
            0   10     2      annotated  Ljava/lang/Boolean;
            1   10     3  ancestorTypes  Ljava/util/Set<Ljavax/lang/model/type/DeclaredType;>;

  private static boolean lambda$17(io.vertx.codegen.doc.Doc);
    descriptor: (Lio/vertx/codegen/doc/Doc;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.doc.Doc d
         0: .line 571
            aload 0 /* d */
            ifnull 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.doc.Doc d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     d  Lio/vertx/codegen/doc/Doc;

  private static boolean lambda$18(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.lang.model.element.ExecutableElement elt
         0: .line 581
            aload 0 /* elt */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(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 0 // javax.lang.model.element.ExecutableElement elt
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   elt  Ljavax/lang/model/element/ExecutableElement;

  private static boolean lambda$21(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 602
            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 static boolean lambda$13(java.lang.Boolean, javax.lang.model.element.Element);
    descriptor: (Ljava/lang/Boolean;Ljavax/lang/model/element/Element;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // javax.lang.model.element.Element elt
         0: .line 558
            aload 0
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 1
            aload 1 /* elt */
            ldc Lio/vertx/codegen/annotations/DataObject;
            invokeinterface javax.lang.model.element.Element.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // javax.lang.model.element.Element elt
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1   elt  Ljavax/lang/model/element/Element;

  private java.util.stream.Stream lambda$14(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/util/stream/Stream;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.DataObjectModel this
        start local 1 // javax.lang.model.element.TypeElement elt
         0: .line 560
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* elt */
            invokeinterface javax.lang.model.util.Elements.getAllMembers:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // javax.lang.model.element.TypeElement elt
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/DataObjectModel;
            0    1     1   elt  Ljavax/lang/model/element/TypeElement;

  private boolean lambda$15(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.DataObjectModel this
        start local 2 // javax.lang.model.element.ExecutableElement executableElt
         0: .line 562
            aload 2 /* executableElt */
            invokeinterface javax.lang.model.element.ExecutableElement.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
            if_acmpne 1
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1
            aload 2 /* executableElt */
            aload 0 /* this */
            getfield io.vertx.codegen.DataObjectModel.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
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // javax.lang.model.element.ExecutableElement executableElt
        end local 0 // io.vertx.codegen.DataObjectModel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/codegen/DataObjectModel;
            0    3     2  executableElt  Ljavax/lang/model/element/ExecutableElement;
}
SourceFile: "DataObjectModel.java"
InnerClasses:
  public Factory = io.vertx.codegen.doc.Doc$Factory of io.vertx.codegen.doc.Doc
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles