public class io.vertx.serviceproxy.ProxyUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.serviceproxy.ProxyUtils
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.serviceproxy.ProxyUtils this
         0: .line 14
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.serviceproxy.ProxyUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/serviceproxy/ProxyUtils;

  public static java.util.List<java.lang.Character> convertToListChar(io.vertx.core.json.JsonArray);
    descriptor: (Lio/vertx/core/json/JsonArray;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.vertx.core.json.JsonArray arr
         0: .line 17
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 18
            aload 0 /* arr */
            invokevirtual io.vertx.core.json.JsonArray.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: io.vertx.core.json.JsonArray java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         3: .line 19
            aload 2 /* obj */
            checkcast java.lang.Integer
            astore 4 /* jobj */
        start local 4 // java.lang.Integer jobj
         4: .line 20
            aload 1 /* list */
            aload 4 /* jobj */
            invokevirtual java.lang.Integer.intValue:()I
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Integer jobj
        end local 2 // java.lang.Object obj
         5: .line 18
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 22
            aload 1 /* list */
            areturn
        end local 1 // java.util.List list
        end local 0 // io.vertx.core.json.JsonArray arr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   arr  Lio/vertx/core/json/JsonArray;
            1    7     1  list  Ljava/util/List<Ljava/lang/Character;>;
            3    5     2   obj  Ljava/lang/Object;
            4    5     4  jobj  Ljava/lang/Integer;
    Signature: (Lio/vertx/core/json/JsonArray;)Ljava/util/List<Ljava/lang/Character;>;
    MethodParameters:
      Name  Flags
      arr   

  public static java.util.Set<java.lang.Character> convertToSetChar(io.vertx.core.json.JsonArray);
    descriptor: (Lio/vertx/core/json/JsonArray;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.vertx.core.json.JsonArray arr
         0: .line 26
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* set */
        start local 1 // java.util.Set set
         1: .line 27
            aload 0 /* arr */
            invokevirtual io.vertx.core.json.JsonArray.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: io.vertx.core.json.JsonArray java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         3: .line 28
            aload 2 /* obj */
            checkcast java.lang.Integer
            astore 4 /* jobj */
        start local 4 // java.lang.Integer jobj
         4: .line 29
            aload 1 /* set */
            aload 4 /* jobj */
            invokevirtual java.lang.Integer.intValue:()I
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Integer jobj
        end local 2 // java.lang.Object obj
         5: .line 27
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 31
            aload 1 /* set */
            areturn
        end local 1 // java.util.Set set
        end local 0 // io.vertx.core.json.JsonArray arr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   arr  Lio/vertx/core/json/JsonArray;
            1    7     1   set  Ljava/util/Set<Ljava/lang/Character;>;
            3    5     2   obj  Ljava/lang/Object;
            4    5     4  jobj  Ljava/lang/Integer;
    Signature: (Lio/vertx/core/json/JsonArray;)Ljava/util/Set<Ljava/lang/Character;>;
    MethodParameters:
      Name  Flags
      arr   

  public static <T> java.util.Map<java.lang.String, T> convertMap(java.util.Map);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.util.Map map
         0: .line 35
            aload 0 /* map */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 2
         1: .line 36
            aload 0 /* map */
            areturn
         2: .line 39
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            astore 1 /* elem */
        start local 1 // java.lang.Object elem
         3: .line 40
            aload 1 /* elem */
            instanceof java.util.Map
            ifne 5
            aload 1 /* elem */
            instanceof java.util.List
            ifne 5
         4: .line 41
            aload 0 /* map */
            areturn
         5: .line 44
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* elem */
            instanceof java.util.List
            ifeq 8
         6: .line 45
            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/serviceproxy/ProxyUtils.lambda$0(Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* converter */
        start local 2 // java.util.function.Function converter
         7: .line 46
            goto 9
        end local 2 // java.util.function.Function converter
         8: .line 47
      StackMap locals:
      StackMap stack:
            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/serviceproxy/ProxyUtils.lambda$1(Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* converter */
        start local 2 // java.util.function.Function converter
         9: .line 49
      StackMap locals: java.util.function.Function
      StackMap stack:
            aload 0 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
        10: .line 50
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        11: .line 51
            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;
                  java/util/Map$Entry.getKey()Ljava/lang/Object; (9 itf)
                  (Ljava/util/Map$Entry;)Ljava/lang/String;
            aload 2 /* converter */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Ljava/util/function/Function;)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;
                  java/util/function/Function.apply(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
                  (Ljava/util/Map$Entry;)Ljava/lang/Object;
            invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Map
        12: .line 49
            areturn
        end local 2 // java.util.function.Function converter
        end local 1 // java.lang.Object elem
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0        map  Ljava/util/Map;
            3   13     1       elem  Ljava/lang/Object;
            7    8     2  converter  Ljava/util/function/Function<Ljava/lang/Object;TT;>;
            9   13     2  converter  Ljava/util/function/Function<Ljava/lang/Object;TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Map;)Ljava/util/Map<Ljava/lang/String;TT;>;
    MethodParameters:
      Name  Flags
      map   

  public static <T> java.util.List<T> convertList(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.List list
         0: .line 56
            aload 0 /* list */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 57
            aload 0 /* list */
            areturn
         2: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 1 /* elem */
        start local 1 // java.lang.Object elem
         3: .line 61
            aload 1 /* elem */
            instanceof java.util.Map
            ifne 5
            aload 1 /* elem */
            instanceof java.util.List
            ifne 5
         4: .line 62
            aload 0 /* list */
            areturn
         5: .line 65
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* elem */
            instanceof java.util.List
            ifeq 8
         6: .line 66
            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/serviceproxy/ProxyUtils.lambda$4(Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* converter */
        start local 2 // java.util.function.Function converter
         7: .line 67
            goto 9
        end local 2 // java.util.function.Function converter
         8: .line 68
      StackMap locals:
      StackMap stack:
            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/serviceproxy/ProxyUtils.lambda$5(Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* converter */
        start local 2 // java.util.function.Function converter
         9: .line 70
      StackMap locals: java.util.function.Function
      StackMap stack:
            aload 0 /* list */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 2 /* converter */
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 2 // java.util.function.Function converter
        end local 1 // java.lang.Object elem
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       list  Ljava/util/List;
            3   10     1       elem  Ljava/lang/Object;
            7    8     2  converter  Ljava/util/function/Function<Ljava/lang/Object;TT;>;
            9   10     2  converter  Ljava/util/function/Function<Ljava/lang/Object;TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      list  

  public static <T> java.util.Set<T> convertSet(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 75
            new java.util.HashSet
            dup
            aload 0 /* list */
            invokestatic io.vertx.serviceproxy.ProxyUtils.convertList:(Ljava/util/List;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  list  Ljava/util/List;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      list  

  private static java.lang.Object lambda$0(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 45
            new io.vertx.core.json.JsonArray
            dup
            aload 0 /* object */
            checkcast java.util.List
            invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/util/List;)V
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;

  private static java.lang.Object lambda$1(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 47
            new io.vertx.core.json.JsonObject
            dup
            aload 0 /* object */
            checkcast java.util.Map
            invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;

  private static java.lang.Object lambda$4(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 66
            new io.vertx.core.json.JsonArray
            dup
            aload 0 /* object */
            checkcast java.util.List
            invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/util/List;)V
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;

  private static java.lang.Object lambda$5(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 68
            new io.vertx.core.json.JsonObject
            dup
            aload 0 /* object */
            checkcast java.util.Map
            invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;
}
SourceFile: "ProxyUtils.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map