public class io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator extends io.vertx.serviceproxy.sockjs.generator.AbstractSockjsServiceProxyGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator
  super_class: io.vertx.serviceproxy.sockjs.generator.AbstractSockjsServiceProxyGenerator
{
  private static volatile int[] $SWITCH_TABLE$io$vertx$codegen$type$ClassKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
         0: .line 22
            aload 0 /* this */
            invokespecial io.vertx.serviceproxy.sockjs.generator.AbstractSockjsServiceProxyGenerator.<init>:()V
         1: .line 23
            aload 0 /* this */
            ldc "sockjs_service_proxies"
            putfield io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.name:Ljava/lang/String;
         2: .line 24
            aload 0 /* this */
            ldc "proxy"
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            putfield io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.kinds:Ljava/util/Set;
         3: .line 25
            return
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;

  public java.lang.String filename(io.vertx.serviceproxy.generator.model.ProxyModel);
    descriptor: (Lio/vertx/serviceproxy/generator/model/ProxyModel;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
        start local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
         0: .line 29
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getType:()Lio/vertx/codegen/type/ClassTypeInfo;
            astore 2 /* type */
        start local 2 // io.vertx.codegen.type.ClassTypeInfo type
         1: .line 30
            new java.lang.StringBuilder
            dup
            ldc "resources/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getModuleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "-js/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.convertCamelCaseToUnderscores:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "-proxy.js"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // io.vertx.codegen.type.ClassTypeInfo type
        end local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;
            0    2     1  model  Lio/vertx/serviceproxy/generator/model/ProxyModel;
            1    2     2   type  Lio/vertx/codegen/type/ClassTypeInfo;
    MethodParameters:
       Name  Flags
      model  

  private java.lang.String getModuleName(io.vertx.codegen.type.ClassTypeInfo);
    descriptor: (Lio/vertx/codegen/type/ClassTypeInfo;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
        start local 1 // io.vertx.codegen.type.ClassTypeInfo type
         0: .line 37
            new java.lang.StringBuilder
            dup
            aload 1 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getModuleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-js/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic io.vertx.codegen.Case.CAMEL:Lio/vertx/codegen/Case;
            getstatic io.vertx.codegen.Case.SNAKE:Lio/vertx/codegen/Case;
            aload 1 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            invokevirtual io.vertx.codegen.Case.to:(Lio/vertx/codegen/Case;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // io.vertx.codegen.type.ClassTypeInfo type
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;
            0    1     1  type  Lio/vertx/codegen/type/ClassTypeInfo;
    MethodParameters:
      Name  Flags
      type  

  private void genMethod(io.vertx.serviceproxy.generator.model.ProxyModel, java.lang.String, boolean, java.util.function.Predicate<io.vertx.codegen.MethodInfo>, io.vertx.codegen.writer.CodeWriter);
    descriptor: (Lio/vertx/serviceproxy/generator/model/ProxyModel;Ljava/lang/String;ZLjava/util/function/Predicate;Lio/vertx/codegen/writer/CodeWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=23, args_size=6
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
        start local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        start local 2 // java.lang.String methodName
        start local 3 // boolean genStatic
        start local 4 // java.util.function.Predicate methodFilter
        start local 5 // io.vertx.codegen.writer.CodeWriter writer
         0: .line 41
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getType:()Lio/vertx/codegen/type/ClassTypeInfo;
            astore 6 /* type */
        start local 6 // io.vertx.codegen.type.ClassTypeInfo type
         1: .line 42
            aload 6 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            astore 7 /* simpleName */
        start local 7 // java.lang.String simpleName
         2: .line 43
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getMethodMap:()Ljava/util/Map;
            astore 8 /* methodsByName */
        start local 8 // java.util.Map methodsByName
         3: .line 44
            aload 8 /* methodsByName */
            aload 2 /* methodName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* methodList */
        start local 9 // java.util.List methodList
         4: .line 45
            aload 4 /* methodFilter */
            ifnull 12
         5: .line 46
            aload 9 /* methodList */
            astore 10 /* methodTmpl */
        start local 10 // java.util.List methodTmpl
         6: .line 47
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* methodList */
         7: .line 48
            aload 10 /* methodTmpl */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 11
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 11 /* method */
        start local 11 // io.vertx.codegen.MethodInfo method
         9: .line 49
            aload 4 /* methodFilter */
            aload 11 /* method */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 50
            aload 9 /* methodList */
            aload 11 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // io.vertx.codegen.MethodInfo method
        11: .line 48
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 10 // java.util.List methodTmpl
        12: .line 54
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List
      StackMap stack:
            aload 9 /* methodList */
            invokeinterface java.util.List.size:()I
            ifle 143
        13: .line 55
            aload 9 /* methodList */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 10 /* overloaded */
        start local 10 // boolean overloaded
        16: .line 56
            aload 9 /* methodList */
            aload 9 /* methodList */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 11 /* method */
        start local 11 // io.vertx.codegen.MethodInfo method
        17: .line 57
            iload 3 /* genStatic */
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.isStaticMethod:()Z
            if_icmpne 143
        18: .line 58
            aload 5 /* writer */
            ldc "/**"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        19: .line 59
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getDoc:()Lio/vertx/codegen/doc/Doc;
            ifnull 21
        20: .line 60
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getDoc:()Lio/vertx/codegen/doc/Doc;
            invokevirtual io.vertx.codegen.doc.Doc.getTokens:()Ljava/util/List;
            ldc ""
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;)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/serviceproxy/sockjs/generator/AbstractSockjsServiceProxyGenerator.renderLinkToHtml(Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String; (5)
                  (Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String;
            ldc "\n"
            aload 5 /* writer */
            invokestatic io.vertx.codegen.doc.Token.toHtml:(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Function;Ljava/lang/String;Ljava/io/PrintWriter;)V
        21: .line 62
      StackMap locals: int io.vertx.codegen.MethodInfo
      StackMap stack:
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        22: .line 63
            aload 5 /* writer */
            ldc " "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        23: .line 64
            iload 3 /* genStatic */
            ifeq 26
        24: .line 65
            aload 5 /* writer */
            ldc "@memberof module:%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 6 /* type */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.getModuleName:(Lio/vertx/codegen/type/ClassTypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        25: .line 66
            goto 27
        26: .line 67
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "@public"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        27: .line 69
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 13 /* first */
        start local 13 // boolean first
        28: .line 70
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 38
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top java.util.Iterator
      StackMap stack:
        29: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.ParamInfo
            astore 14 /* param */
        start local 14 // io.vertx.codegen.ParamInfo param
        30: .line 71
            iload 13 /* first */
            ifeq 33
        31: .line 72
            iconst_0
            istore 13 /* first */
        32: .line 73
            goto 34
        33: .line 74
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int io.vertx.codegen.ParamInfo java.util.Iterator
      StackMap stack:
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        34: .line 76
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc " @param %s {%s} "
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            aload 14 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.getJSDocType:(Lio/vertx/codegen/type/TypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        35: .line 77
            aload 14 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getDescription:()Lio/vertx/codegen/doc/Text;
            ifnull 38
        36: .line 78
            aload 14 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getDescription:()Lio/vertx/codegen/doc/Text;
            invokevirtual io.vertx.codegen.doc.Text.getTokens:()Ljava/util/List;
            ldc ""
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;)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/serviceproxy/sockjs/generator/AbstractSockjsServiceProxyGenerator.renderLinkToHtml(Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String; (5)
                  (Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String;
            ldc ""
            aload 5 /* writer */
            invokestatic io.vertx.codegen.doc.Token.toHtml:(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Function;Ljava/lang/String;Ljava/io/PrintWriter;)V
        37: .line 79
            aload 5 /* writer */
            ldc " "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        end local 14 // io.vertx.codegen.ParamInfo param
        38: .line 70
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        39: .line 82
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        40: .line 84
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.VOID:Lio/vertx/codegen/type/ClassKind;
            if_acmpeq 46
        41: .line 85
            aload 5 /* writer */
            ldc " @return {%s}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.getJSDocType:(Lio/vertx/codegen/type/TypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        42: .line 86
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnDescription:()Lio/vertx/codegen/doc/Text;
            ifnull 45
        43: .line 87
            aload 5 /* writer */
            ldc " "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        44: .line 88
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnDescription:()Lio/vertx/codegen/doc/Text;
            invokevirtual io.vertx.codegen.doc.Text.getTokens:()Ljava/util/List;
            ldc ""
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;)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/serviceproxy/sockjs/generator/AbstractSockjsServiceProxyGenerator.renderLinkToHtml(Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String; (5)
                  (Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String;
            ldc ""
            aload 5 /* writer */
            invokestatic io.vertx.codegen.doc.Token.toHtml:(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Function;Ljava/lang/String;Ljava/io/PrintWriter;)V
        45: .line 90
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int
      StackMap stack:
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        46: .line 92
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc " */"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        47: .line 94
            aload 5 /* writer */
            ldc "%s.%s = "
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* genStatic */
            ifeq 48
            aload 7 /* simpleName */
            goto 49
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int
      StackMap stack: io.vertx.codegen.writer.CodeWriter java.lang.String java.lang.Object[] java.lang.Object[] int
        48: ldc "this"
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int
      StackMap stack: io.vertx.codegen.writer.CodeWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        49: aastore
            dup
            iconst_1
            aload 2 /* methodName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        50: .line 95
            iload 10 /* overloaded */
            ifeq 53
        51: .line 96
            aload 5 /* writer */
            ldc " function() {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        52: .line 97
            goto 54
        53: .line 98
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc " function(%s) {\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codegen/ParamInfo.getName()Ljava/lang/String; (5)
                  (Lio/vertx/codegen/ParamInfo;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            ldc ", "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        54: .line 100
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* mcnt */
        start local 15 // int mcnt
        55: .line 101
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        56: .line 102
            aload 5 /* writer */
            ldc "var __args = arguments;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        57: .line 103
            aload 9 /* methodList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 138
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top int top java.util.Iterator
      StackMap stack:
        58: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 16 /* m */
        start local 16 // io.vertx.codegen.MethodInfo m
        59: .line 104
            aload 5 /* writer */
            iload 15 /* mcnt */
            iinc 15 /* mcnt */ 1
            ifne 60
            ldc "if"
            goto 61
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator
      StackMap stack: io.vertx.codegen.writer.CodeWriter
        60: ldc "else if"
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator
      StackMap stack: io.vertx.codegen.writer.CodeWriter java.lang.String
        61: invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        62: .line 105
            aload 16 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 18 /* paramSize */
        start local 18 // int paramSize
        63: .line 106
            aload 5 /* writer */
            ldc " (__args.length === %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* paramSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        64: .line 107
            iconst_0
            istore 19 /* cnt */
        start local 19 // int cnt
        65: .line 108
            iload 18 /* paramSize */
            ifle 67
        66: .line 109
            aload 5 /* writer */
            ldc " && "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        67: .line 111
      StackMap locals: int int
      StackMap stack:
            iconst_1
            istore 13 /* first */
        68: .line 112
            aload 16 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 132
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator int int top java.util.Iterator
      StackMap stack:
        69: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.ParamInfo
            astore 20 /* param */
        start local 20 // io.vertx.codegen.ParamInfo param
        70: .line 113
            iload 13 /* first */
            ifeq 73
        71: .line 114
            iconst_0
            istore 13 /* first */
        72: .line 115
            goto 74
        73: .line 116
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator int int io.vertx.codegen.ParamInfo java.util.Iterator
      StackMap stack:
            aload 5 /* writer */
            ldc " && "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        74: .line 118
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:()[I
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iaload
            tableswitch { // 1 - 18
                    1: 89
                    2: 75
                    3: 75
                    4: 89
                    5: 126
                    6: 104
                    7: 124
                    8: 126
                    9: 117
                   10: 104
                   11: 104
                   12: 126
                   13: 97
                   14: 126
                   15: 111
                   16: 122
                   17: 126
                   18: 95
              default: 126
          }
        75: .line 121
      StackMap locals:
      StackMap stack:
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 77
        76: .line 122
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        77: .line 124
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] ==="
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        78: .line 125
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getSimpleName:()Ljava/lang/String;
            astore 22 /* paramSimpleName */
        start local 22 // java.lang.String paramSimpleName
        79: .line 126
            ldc "boolean"
            aload 22 /* paramSimpleName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 82
        80: .line 127
            aload 5 /* writer */
            ldc "'boolean'"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        81: .line 128
            goto 86
      StackMap locals: java.lang.String
      StackMap stack:
        82: ldc "char"
            aload 22 /* paramSimpleName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 83
            ldc "Character"
            aload 22 /* paramSimpleName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 85
        83: .line 129
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "'string'"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        84: .line 130
            goto 86
        85: .line 131
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "'number'"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        86: .line 133
      StackMap locals:
      StackMap stack:
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 131
        87: .line 134
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        88: .line 136
            goto 131
        end local 22 // java.lang.String paramSimpleName
        89: .line 139
      StackMap locals:
      StackMap stack:
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 91
        90: .line 140
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        91: .line 142
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'string'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        92: .line 143
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 131
        93: .line 144
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        94: .line 146
            goto 131
        95: .line 148
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        96: .line 149
            goto 131
        97: .line 151
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object' && "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        98: .line 152
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 100
        99: .line 153
            aload 5 /* writer */
            ldc "(__args[%s] == null || "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       100: .line 155
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "__args[%s]._jdel"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       101: .line 156
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 131
       102: .line 157
            aload 5 /* writer */
            ldc ")"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       103: .line 159
            goto 131
       104: .line 163
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object' && "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       105: .line 164
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 107
       106: .line 165
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       107: .line 167
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "__args[%s] instanceof Array"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       108: .line 168
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 131
       109: .line 169
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       110: .line 171
            goto 131
       111: .line 173
      StackMap locals:
      StackMap stack:
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 113
       112: .line 174
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       113: .line 176
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       114: .line 177
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 131
       115: .line 178
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       116: .line 180
            goto 131
       117: .line 182
      StackMap locals:
      StackMap stack:
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.isVariable:()Z
            ifeq 120
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.TypeVariableInfo
            invokevirtual io.vertx.codegen.type.TypeVariableInfo.isClassParam:()Z
            ifeq 120
       118: .line 183
            aload 5 /* writer */
            ldc "j_%s.accept(__args[%s])"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       119: .line 184
            goto 131
       120: .line 185
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] !== 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       121: .line 187
            goto 131
       122: .line 189
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       123: .line 190
            goto 131
       124: .line 192
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       125: .line 193
            goto 131
       126: .line 195
      StackMap locals:
      StackMap stack:
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifne 128
       127: .line 196
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       128: .line 198
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       129: .line 199
            aload 20 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifne 131
       130: .line 200
            aload 5 /* writer */
            ldc " && __args[%s] != null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       131: .line 203
      StackMap locals:
      StackMap stack:
            iinc 19 /* cnt */ 1
        end local 20 // io.vertx.codegen.ParamInfo param
       132: .line 112
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator int int top java.util.Iterator
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 69
       133: .line 205
            aload 5 /* writer */
            ldc ") {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
       134: .line 206
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
       135: .line 207
            aload 0 /* this */
            aload 1 /* model */
            aload 16 /* m */
            aload 5 /* writer */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.genMethodAdapter:(Lio/vertx/serviceproxy/generator/model/ProxyModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/writer/CodeWriter;)V
       136: .line 208
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
       137: .line 209
            aload 5 /* writer */
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        end local 19 // int cnt
        end local 18 // int paramSize
        end local 16 // io.vertx.codegen.MethodInfo m
       138: .line 103
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List int io.vertx.codegen.MethodInfo top int top int top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
       139: .line 211
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
       140: .line 212
            aload 5 /* writer */
            ldc " else throw new TypeError('function invoked with invalid arguments');"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
       141: .line 213
            aload 5 /* writer */
            ldc "};"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
       142: .line 214
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        end local 15 // int mcnt
        end local 13 // boolean first
        end local 11 // io.vertx.codegen.MethodInfo method
        end local 10 // boolean overloaded
       143: .line 217
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.Map java.util.List
      StackMap stack:
            return
        end local 9 // java.util.List methodList
        end local 8 // java.util.Map methodsByName
        end local 7 // java.lang.String simpleName
        end local 6 // io.vertx.codegen.type.ClassTypeInfo type
        end local 5 // io.vertx.codegen.writer.CodeWriter writer
        end local 4 // java.util.function.Predicate methodFilter
        end local 3 // boolean genStatic
        end local 2 // java.lang.String methodName
        end local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  144     0             this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;
            0  144     1            model  Lio/vertx/serviceproxy/generator/model/ProxyModel;
            0  144     2       methodName  Ljava/lang/String;
            0  144     3        genStatic  Z
            0  144     4     methodFilter  Ljava/util/function/Predicate<Lio/vertx/codegen/MethodInfo;>;
            0  144     5           writer  Lio/vertx/codegen/writer/CodeWriter;
            1  144     6             type  Lio/vertx/codegen/type/ClassTypeInfo;
            2  144     7       simpleName  Ljava/lang/String;
            3  144     8    methodsByName  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;>;
            4  144     9       methodList  Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;
            6   12    10       methodTmpl  Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;
            9   11    11           method  Lio/vertx/codegen/MethodInfo;
           16  143    10       overloaded  Z
           17  143    11           method  Lio/vertx/codegen/MethodInfo;
           28  143    13            first  Z
           30   38    14            param  Lio/vertx/codegen/ParamInfo;
           55  143    15             mcnt  I
           59  138    16                m  Lio/vertx/codegen/MethodInfo;
           63  138    18        paramSize  I
           65  138    19              cnt  I
           70  132    20            param  Lio/vertx/codegen/ParamInfo;
           79   89    22  paramSimpleName  Ljava/lang/String;
    Signature: (Lio/vertx/serviceproxy/generator/model/ProxyModel;Ljava/lang/String;ZLjava/util/function/Predicate<Lio/vertx/codegen/MethodInfo;>;Lio/vertx/codegen/writer/CodeWriter;)V
    MethodParameters:
              Name  Flags
      model         
      methodName    
      genStatic     
      methodFilter  
      writer        

  public java.lang.String render(io.vertx.serviceproxy.generator.model.ProxyModel, int, int, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Lio/vertx/serviceproxy/generator/model/ProxyModel;IILjava/util/Map;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=5
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
        start local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        start local 2 // int index
        start local 3 // int size
        start local 4 // java.util.Map session
         0: .line 221
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 5 /* sw */
        start local 5 // java.io.StringWriter sw
         1: .line 222
            new io.vertx.codegen.writer.CodeWriter
            dup
            aload 5 /* sw */
            invokespecial io.vertx.codegen.writer.CodeWriter.<init>:(Ljava/io/Writer;)V
            astore 6 /* writer */
        start local 6 // io.vertx.codegen.writer.CodeWriter writer
         2: .line 223
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getType:()Lio/vertx/codegen/type/ClassTypeInfo;
            astore 7 /* type */
        start local 7 // io.vertx.codegen.type.ClassTypeInfo type
         3: .line 224
            aload 7 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            astore 8 /* simpleName */
        start local 8 // java.lang.String simpleName
         4: .line 225
            aload 0 /* this */
            aload 6 /* writer */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.genLicenses:(Ljava/io/PrintWriter;)V
         5: .line 226
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
         6: .line 227
            aload 6 /* writer */
            ldc "/// <reference path=\"./%s-proxy.d.ts\" />"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.convertCamelCaseToUnderscores:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
         7: .line 228
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
         8: .line 229
            aload 6 /* writer */
            ldc "/** @module %s */"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 7 /* type */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.getModuleName:(Lio/vertx/codegen/type/ClassTypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
         9: .line 232
            aload 6 /* writer */
            ldc "!function (factory) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        10: .line 233
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "if (typeof require === 'function' && typeof module !== 'undefined') {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        11: .line 234
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "factory();"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        12: .line 235
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "} else if (typeof define === 'function' && define.amd) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        13: .line 236
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "// AMD loader"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        14: .line 237
            aload 6 /* writer */
            ldc "define('%s-proxy', [], factory);"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 7 /* type */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.getModuleName:(Lio/vertx/codegen/type/ClassTypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        15: .line 238
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        16: .line 239
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "} else {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        17: .line 240
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "// plain old include"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        18: .line 241
            aload 6 /* writer */
            ldc "%s = factory();"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* simpleName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        19: .line 242
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        20: .line 243
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "}(function () {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        21: .line 244
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        22: .line 246
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getReferencedTypes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 27
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.serviceproxy.generator.model.ProxyModel int int java.util.Map java.io.StringWriter io.vertx.codegen.writer.CodeWriter io.vertx.codegen.type.ClassTypeInfo java.lang.String top java.util.Iterator
      StackMap stack:
        23: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.type.ApiTypeInfo
            astore 9 /* referencedType */
        start local 9 // io.vertx.codegen.type.ApiTypeInfo referencedType
        24: .line 247
            aload 9 /* referencedType */
            invokevirtual io.vertx.codegen.type.ApiTypeInfo.isProxyGen:()Z
            ifeq 27
        25: .line 248
            aload 9 /* referencedType */
            invokevirtual io.vertx.codegen.type.ApiTypeInfo.getSimpleName:()Ljava/lang/String;
            astore 11 /* refedType */
        start local 11 // java.lang.String refedType
        26: .line 249
            aload 6 /* writer */
            ldc "var %s = require('%s-proxy');"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* refedType */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            aload 9 /* referencedType */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.getModuleName:(Lio/vertx/codegen/type/ClassTypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        end local 11 // java.lang.String refedType
        end local 9 // io.vertx.codegen.type.ApiTypeInfo referencedType
        27: .line 246
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        28: .line 252
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        29: .line 253
            aload 0 /* this */
            aload 1 /* model */
            aload 6 /* writer */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.genDoc:(Lio/vertx/serviceproxy/generator/model/ProxyModel;Lio/vertx/codegen/writer/CodeWriter;)V
        30: .line 255
            aload 6 /* writer */
            ldc "var %s = function(eb, address) {"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* simpleName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        31: .line 256
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "var j_eb = eb;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        32: .line 257
            aload 6 /* writer */
            ldc "var j_address = address;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        33: .line 258
            aload 6 /* writer */
            ldc "var closed = false;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        34: .line 259
            aload 6 /* writer */
            ldc "var that = this;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        35: .line 260
            aload 6 /* writer */
            ldc "var convCharCollection = function(coll) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        36: .line 261
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "var ret = [];"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        37: .line 262
            aload 6 /* writer */
            ldc "for (var i = 0;i < coll.length;i++) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        38: .line 263
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "ret.push(String.fromCharCode(coll[i]));"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        39: .line 264
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        40: .line 265
            aload 6 /* writer */
            ldc "return ret;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        41: .line 266
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "};"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        42: .line 269
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getSuperTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 45
      StackMap locals:
      StackMap stack:
        43: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.type.TypeInfo
            astore 9 /* superType */
        start local 9 // io.vertx.codegen.type.TypeInfo superType
        44: .line 270
            aload 6 /* writer */
            ldc "%s.call(this, j_val);"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* superType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        end local 9 // io.vertx.codegen.type.TypeInfo superType
        45: .line 269
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 43
        46: .line 272
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        47: .line 275
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getMethodMap:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 50
      StackMap locals:
      StackMap stack:
        48: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* methodName */
        start local 9 // java.lang.String methodName
        49: .line 277
            aload 0 /* this */
            aload 1 /* model */
            aload 9 /* methodName */
            iconst_0
            aload 0 /* this */
            invokedynamic test(Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;)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/serviceproxy/sockjs/generator/AbstractSockjsServiceProxyGenerator.methodFilter(Lio/vertx/codegen/MethodInfo;)Z (5)
                  (Lio/vertx/codegen/MethodInfo;)Z
            aload 6 /* writer */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.genMethod:(Lio/vertx/serviceproxy/generator/model/ProxyModel;Ljava/lang/String;ZLjava/util/function/Predicate;Lio/vertx/codegen/writer/CodeWriter;)V
        end local 9 // java.lang.String methodName
        50: .line 275
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        51: .line 279
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "};"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        52: .line 280
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        53: .line 283
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getMethodMap:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 56
      StackMap locals:
      StackMap stack:
        54: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* methodName */
        start local 9 // java.lang.String methodName
        55: .line 285
            aload 0 /* this */
            aload 1 /* model */
            aload 9 /* methodName */
            iconst_1
            aload 0 /* this */
            invokedynamic test(Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;)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/serviceproxy/sockjs/generator/AbstractSockjsServiceProxyGenerator.methodFilter(Lio/vertx/codegen/MethodInfo;)Z (5)
                  (Lio/vertx/codegen/MethodInfo;)Z
            aload 6 /* writer */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.genMethod:(Lio/vertx/serviceproxy/generator/model/ProxyModel;Ljava/lang/String;ZLjava/util/function/Predicate;Lio/vertx/codegen/writer/CodeWriter;)V
        end local 9 // java.lang.String methodName
        56: .line 283
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 54
        57: .line 287
            aload 6 /* writer */
            ldc "if (typeof exports !== 'undefined') {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        58: .line 288
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "if (typeof module !== 'undefined' && module.exports) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        59: .line 289
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "exports = module.exports = %s;"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* simpleName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        60: .line 290
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "} else {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        61: .line 291
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "exports.%s = %s;"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* simpleName */
            aastore
            dup
            iconst_1
            aload 8 /* simpleName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        62: .line 292
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        63: .line 293
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "} else {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        64: .line 294
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "return %s;"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* simpleName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        65: .line 295
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        66: .line 296
            aload 6 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "});"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        67: .line 297
            aload 5 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 8 // java.lang.String simpleName
        end local 7 // io.vertx.codegen.type.ClassTypeInfo type
        end local 6 // io.vertx.codegen.writer.CodeWriter writer
        end local 5 // java.io.StringWriter sw
        end local 4 // java.util.Map session
        end local 3 // int size
        end local 2 // int index
        end local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   68     0            this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;
            0   68     1           model  Lio/vertx/serviceproxy/generator/model/ProxyModel;
            0   68     2           index  I
            0   68     3            size  I
            0   68     4         session  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1   68     5              sw  Ljava/io/StringWriter;
            2   68     6          writer  Lio/vertx/codegen/writer/CodeWriter;
            3   68     7            type  Lio/vertx/codegen/type/ClassTypeInfo;
            4   68     8      simpleName  Ljava/lang/String;
           24   27     9  referencedType  Lio/vertx/codegen/type/ApiTypeInfo;
           26   27    11       refedType  Ljava/lang/String;
           44   45     9       superType  Lio/vertx/codegen/type/TypeInfo;
           49   50     9      methodName  Ljava/lang/String;
           55   56     9      methodName  Ljava/lang/String;
    Signature: (Lio/vertx/serviceproxy/generator/model/ProxyModel;IILjava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/lang/String;
    MethodParameters:
         Name  Flags
      model    
      index    
      size     
      session  

  private void genMethodAdapter(io.vertx.serviceproxy.generator.model.ProxyModel, io.vertx.codegen.MethodInfo, io.vertx.codegen.writer.CodeWriter);
    descriptor: (Lio/vertx/serviceproxy/generator/model/ProxyModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/writer/CodeWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
        start local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        start local 2 // io.vertx.codegen.MethodInfo m
        start local 3 // io.vertx.codegen.writer.CodeWriter writer
         0: .line 301
            aload 2 /* m */
            checkcast io.vertx.serviceproxy.generator.model.ProxyMethodInfo
            astore 4 /* method */
        start local 4 // io.vertx.serviceproxy.generator.model.ProxyMethodInfo method
         1: .line 302
            aload 3 /* writer */
            ldc "if (closed) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         2: .line 303
            aload 3 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "throw new Error('Proxy is closed');"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         3: .line 304
            aload 3 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         4: .line 305
            aload 0 /* this */
            aload 4 /* method */
            aload 3 /* writer */
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.genMethodCall:(Lio/vertx/codegen/MethodInfo;Ljava/io/PrintWriter;)V
         5: .line 306
            aload 3 /* writer */
            ldc ";"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         6: .line 307
            aload 4 /* method */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyMethodInfo.isProxyClose:()Z
            ifeq 8
         7: .line 308
            aload 3 /* writer */
            ldc "closed = true;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         8: .line 310
      StackMap locals: io.vertx.serviceproxy.generator.model.ProxyMethodInfo
      StackMap stack:
            aload 4 /* method */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyMethodInfo.isFluent:()Z
            ifeq 11
         9: .line 311
            aload 3 /* writer */
            ldc "return that;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        10: .line 312
            goto 12
        11: .line 313
      StackMap locals:
      StackMap stack:
            aload 3 /* writer */
            ldc "return;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        12: .line 315
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.vertx.serviceproxy.generator.model.ProxyMethodInfo method
        end local 3 // io.vertx.codegen.writer.CodeWriter writer
        end local 2 // io.vertx.codegen.MethodInfo m
        end local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;
            0   13     1   model  Lio/vertx/serviceproxy/generator/model/ProxyModel;
            0   13     2       m  Lio/vertx/codegen/MethodInfo;
            0   13     3  writer  Lio/vertx/codegen/writer/CodeWriter;
            1   13     4  method  Lio/vertx/serviceproxy/generator/model/ProxyMethodInfo;
    MethodParameters:
        Name  Flags
      model   
      m       
      writer  

  private void genMethodCall(io.vertx.codegen.MethodInfo, java.io.PrintWriter);
    descriptor: (Lio/vertx/codegen/MethodInfo;Ljava/io/PrintWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
        start local 1 // io.vertx.codegen.MethodInfo method
        start local 2 // java.io.PrintWriter writer
         0: .line 317
            aload 1 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            astore 3 /* params */
        start local 3 // java.util.List params
         1: .line 318
            aload 3 /* params */
            invokeinterface java.util.List.size:()I
            istore 4 /* psize */
        start local 4 // int psize
         2: .line 319
            iload 4 /* psize */
            ifle 3
            aload 3 /* params */
            iload 4 /* psize */
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.ParamInfo
            goto 4
      StackMap locals: java.util.List int
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.codegen.ParamInfo
         4: astore 5 /* lastParam */
        start local 5 // io.vertx.codegen.ParamInfo lastParam
         5: .line 320
            aload 5 /* lastParam */
            ifnull 6
            aload 5 /* lastParam */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 6
            aload 5 /* lastParam */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.ASYNC_RESULT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 6
            iconst_1
            goto 7
      StackMap locals: io.vertx.codegen.ParamInfo
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* hasResultHandler */
        start local 6 // boolean hasResultHandler
         8: .line 321
            iload 6 /* hasResultHandler */
            ifeq 10
         9: .line 322
            iinc 4 /* psize */ -1
        10: .line 324
      StackMap locals: int
      StackMap stack:
            aload 2 /* writer */
            ldc "j_eb.send(j_address, {"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        11: .line 325
            iconst_1
            istore 7 /* first */
        start local 7 // boolean first
        12: .line 326
            iconst_0
            istore 8 /* pcnt */
        start local 8 // int pcnt
        13: goto 27
        14: .line 327
      StackMap locals: int int
      StackMap stack:
            iload 7 /* first */
            ifeq 17
        15: .line 328
            iconst_0
            istore 7 /* first */
        16: .line 329
            goto 18
        17: .line 330
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            ldc ", "
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        18: .line 332
      StackMap locals:
      StackMap stack:
            aload 3 /* params */
            iload 8 /* pcnt */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.ParamInfo
            astore 9 /* param */
        start local 9 // io.vertx.codegen.ParamInfo param
        19: .line 333
            aload 9 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            astore 10 /* paramTypeName */
        start local 10 // java.lang.String paramTypeName
        20: .line 334
            aload 9 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getName:()Ljava/lang/String;
            astore 11 /* paramName */
        start local 11 // java.lang.String paramName
        21: .line 335
            aload 2 /* writer */
            ldc "\"%s\":"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* paramName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        22: .line 336
            ldc "java.lang.Character"
            aload 10 /* paramTypeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            ldc "char"
            aload 10 /* paramTypeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 337
      StackMap locals: io.vertx.codegen.ParamInfo java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* writer */
            ldc "__args[%d].charCodeAt(0)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 8 /* pcnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        24: .line 338
            goto 26
        25: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            ldc "__args[%d]"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 8 /* pcnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 11 // java.lang.String paramName
        end local 10 // java.lang.String paramTypeName
        end local 9 // io.vertx.codegen.ParamInfo param
        26: .line 326
      StackMap locals:
      StackMap stack:
            iinc 8 /* pcnt */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* pcnt */
            iload 4 /* psize */
            if_icmplt 14
        end local 8 // int pcnt
        28: .line 342
            aload 2 /* writer */
            ldc "}, {\"action\":\"%s\"}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        29: .line 343
            iload 6 /* hasResultHandler */
            ifeq 44
        30: .line 344
            aload 5 /* lastParam */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            astore 8 /* handlerType */
        start local 8 // io.vertx.codegen.type.ParameterizedTypeInfo handlerType
        31: .line 345
            aload 8 /* handlerType */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            astore 9 /* asyncResultType */
        start local 9 // io.vertx.codegen.type.ParameterizedTypeInfo asyncResultType
        32: .line 346
            aload 9 /* asyncResultType */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            astore 10 /* resultType */
        start local 10 // io.vertx.codegen.type.TypeInfo resultType
        33: .line 347
            aload 2 /* writer */
            ldc ", function(err, result) { __args[%d](err, result && "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* psize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        34: .line 348
            aload 10 /* resultType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            astore 11 /* resultKind */
        start local 11 // io.vertx.codegen.type.ClassKind resultKind
        35: .line 349
            aload 10 /* resultType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 38
        36: .line 350
            aload 2 /* writer */
            ldc "new %s(j_eb, result.headers.proxyaddr)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* resultType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getSimpleName:()Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        37: .line 351
            goto 43
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.codegen.MethodInfo java.io.PrintWriter java.util.List int io.vertx.codegen.ParamInfo int int io.vertx.codegen.type.ParameterizedTypeInfo io.vertx.codegen.type.ParameterizedTypeInfo io.vertx.codegen.type.TypeInfo io.vertx.codegen.type.ClassKind
      StackMap stack:
        38: aload 11 /* resultKind */
            getstatic io.vertx.codegen.type.ClassKind.LIST:Lio/vertx/codegen/type/ClassKind;
            if_acmpeq 39
            aload 11 /* resultKind */
            getstatic io.vertx.codegen.type.ClassKind.SET:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 42
      StackMap locals:
      StackMap stack:
        39: ldc "java.lang.Character"
            aload 10 /* resultType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 42
        40: .line 352
            aload 2 /* writer */
            ldc "convCharCollection(result.body)"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        41: .line 353
            goto 43
        42: .line 354
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            ldc "result.body"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        43: .line 356
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            ldc "); }"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        end local 11 // io.vertx.codegen.type.ClassKind resultKind
        end local 10 // io.vertx.codegen.type.TypeInfo resultType
        end local 9 // io.vertx.codegen.type.ParameterizedTypeInfo asyncResultType
        end local 8 // io.vertx.codegen.type.ParameterizedTypeInfo handlerType
        44: .line 358
      StackMap locals: io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator io.vertx.codegen.MethodInfo java.io.PrintWriter java.util.List int io.vertx.codegen.ParamInfo int int
      StackMap stack:
            aload 2 /* writer */
            ldc ")"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        45: .line 359
            return
        end local 7 // boolean first
        end local 6 // boolean hasResultHandler
        end local 5 // io.vertx.codegen.ParamInfo lastParam
        end local 4 // int psize
        end local 3 // java.util.List params
        end local 2 // java.io.PrintWriter writer
        end local 1 // io.vertx.codegen.MethodInfo method
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   46     0              this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;
            0   46     1            method  Lio/vertx/codegen/MethodInfo;
            0   46     2            writer  Ljava/io/PrintWriter;
            1   46     3            params  Ljava/util/List<Lio/vertx/codegen/ParamInfo;>;
            2   46     4             psize  I
            5   46     5         lastParam  Lio/vertx/codegen/ParamInfo;
            8   46     6  hasResultHandler  Z
           12   46     7             first  Z
           13   28     8              pcnt  I
           19   26     9             param  Lio/vertx/codegen/ParamInfo;
           20   26    10     paramTypeName  Ljava/lang/String;
           21   26    11         paramName  Ljava/lang/String;
           31   44     8       handlerType  Lio/vertx/codegen/type/ParameterizedTypeInfo;
           32   44     9   asyncResultType  Lio/vertx/codegen/type/ParameterizedTypeInfo;
           33   44    10        resultType  Lio/vertx/codegen/type/TypeInfo;
           35   44    11        resultKind  Lio/vertx/codegen/type/ClassKind;
    MethodParameters:
        Name  Flags
      method  
      writer  

  void genDoc(io.vertx.serviceproxy.generator.model.ProxyModel, io.vertx.codegen.writer.CodeWriter);
    descriptor: (Lio/vertx/serviceproxy/generator/model/ProxyModel;Lio/vertx/codegen/writer/CodeWriter;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
        start local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        start local 2 // io.vertx.codegen.writer.CodeWriter writer
         0: .line 362
            aload 2 /* writer */
            ldc "/**"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         1: .line 363
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getIfaceComment:()Ljava/lang/String;
            ifnull 3
         2: .line 364
            aload 2 /* writer */
            aload 1 /* model */
            invokevirtual io.vertx.serviceproxy.generator.model.ProxyModel.getIfaceComment:()Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.removeTags:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         3: .line 366
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            ldc " @class"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         4: .line 367
            aload 2 /* writer */
            ldc "*/"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         5: .line 368
            return
        end local 2 // io.vertx.codegen.writer.CodeWriter writer
        end local 1 // io.vertx.serviceproxy.generator.model.ProxyModel model
        end local 0 // io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/serviceproxy/sockjs/generator/SockjsServiceProxyJSGenerator;
            0    6     1   model  Lio/vertx/serviceproxy/generator/model/ProxyModel;
            0    6     2  writer  Lio/vertx/codegen/writer/CodeWriter;
    MethodParameters:
        Name  Flags
      model   
      writer  

  public java.lang.String render(io.vertx.codegen.Model, int, int, java.util.Map);
    descriptor: (Lio/vertx/codegen/Model;IILjava/util/Map;)Ljava/lang/String;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.serviceproxy.generator.model.ProxyModel
            iload 2
            iload 3
            aload 4
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.render:(Lio/vertx/serviceproxy/generator/model/ProxyModel;IILjava/util/Map;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.Collection annotations();
    descriptor: ()Ljava/util/Collection;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial io.vertx.serviceproxy.sockjs.generator.AbstractSockjsServiceProxyGenerator.annotations:()Ljava/util/Collection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String filename(io.vertx.codegen.Model);
    descriptor: (Lio/vertx/codegen/Model;)Ljava/lang/String;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.serviceproxy.generator.model.ProxyModel
            invokevirtual io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.filename:(Lio/vertx/serviceproxy/generator/model/ProxyModel;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$io$vertx$codegen$type$ClassKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 21
            getstatic io.vertx.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.$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 17
            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 18
            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.DATA_OBJECT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 14
            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.ENUM:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_4
            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.FUNCTION:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 16
            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 15
            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.serviceproxy.sockjs.generator.SockjsServiceProxyJSGenerator.$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
}
SourceFile: "SockjsServiceProxyJSGenerator.java"
InnerClasses:
  public Link = io.vertx.codegen.doc.Tag$Link of io.vertx.codegen.doc.Tag
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles