public class org.graalvm.util.CollectionsUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.util.CollectionsUtil
  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 // org.graalvm.util.CollectionsUtil this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.util.CollectionsUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/util/CollectionsUtil;

  public static <T> java.lang.Iterable<T> concat(java.lang.Iterable<T>, java.lang.Iterable<T>);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Iterable a
        start local 1 // java.lang.Iterable b
         0: .line 49
            iconst_2
            anewarray java.lang.Iterable
            dup
            iconst_0
            aload 0 /* a */
            aastore
            dup
            iconst_1
            aload 1 /* b */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* l */
        start local 2 // java.util.List l
         1: .line 50
            aload 2 /* l */
            invokestatic org.graalvm.util.CollectionsUtil.concat:(Ljava/util/List;)Ljava/lang/Iterable;
            areturn
        end local 2 // java.util.List l
        end local 1 // java.lang.Iterable b
        end local 0 // java.lang.Iterable a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  Ljava/lang/Iterable<TT;>;
            0    2     1     b  Ljava/lang/Iterable<TT;>;
            1    2     2     l  Ljava/util/List<Ljava/lang/Iterable<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Ljava/lang/Iterable<TT;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
      Name  Flags
      a     
      b     

  public static <T> java.lang.Iterable<T> concat(java.util.List<java.lang.Iterable<T>>);
    descriptor: (Ljava/util/List;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.util.List iterables
         0: .line 60
            aload 0 /* iterables */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Iterable
            astore 1 /* iterable */
        start local 1 // java.lang.Iterable iterable
         2: .line 61
            aload 1 /* iterable */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // java.lang.Iterable iterable
         3: .line 60
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 63
            new org.graalvm.util.CollectionsUtil$1
            dup
            aload 0 /* iterables */
            invokespecial org.graalvm.util.CollectionsUtil$1.<init>:(Ljava/util/List;)V
            areturn
        end local 0 // java.util.List iterables
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  iterables  Ljava/util/List<Ljava/lang/Iterable<TT;>;>;
            2    3     1   iterable  Ljava/lang/Iterable<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<Ljava/lang/Iterable<TT;>;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
           Name  Flags
      iterables  

  public static <T> boolean allMatch(T[], java.util.function.Predicate<T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object[] inputs
        start local 1 // java.util.function.Predicate predicate
         0: .line 97
            aload 0 /* inputs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* predicate */
            invokestatic org.graalvm.util.CollectionsUtil.allMatch:(Ljava/lang/Iterable;Ljava/util/function/Predicate;)Z
            ireturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.lang.Object[] inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  [Ljava/lang/Object;
            0    1     1  predicate  Ljava/util/function/Predicate<TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/function/Predicate<TT;>;)Z
    MethodParameters:
           Name  Flags
      inputs     
      predicate  

  public static <T> boolean allMatch(java.lang.Iterable<T>, java.util.function.Predicate<T>);
    descriptor: (Ljava/lang/Iterable;Ljava/util/function/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Iterable inputs
        start local 1 // java.util.function.Predicate predicate
         0: .line 101
            aload 0 /* inputs */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.lang.Iterable java.util.function.Predicate top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* t */
        start local 2 // java.lang.Object t
         2: .line 102
            aload 1 /* predicate */
            aload 2 /* t */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 103
            iconst_0
            ireturn
        end local 2 // java.lang.Object t
         4: .line 101
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 106
            iconst_1
            ireturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.lang.Iterable inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0     inputs  Ljava/lang/Iterable<TT;>;
            0    6     1  predicate  Ljava/util/function/Predicate<TT;>;
            2    4     2          t  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Ljava/util/function/Predicate<TT;>;)Z
    MethodParameters:
           Name  Flags
      inputs     
      predicate  

  public static <T> boolean anyMatch(T[], java.util.function.Predicate<T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object[] inputs
        start local 1 // java.util.function.Predicate predicate
         0: .line 110
            aload 0 /* inputs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* predicate */
            invokestatic org.graalvm.util.CollectionsUtil.anyMatch:(Ljava/lang/Iterable;Ljava/util/function/Predicate;)Z
            ireturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.lang.Object[] inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  [Ljava/lang/Object;
            0    1     1  predicate  Ljava/util/function/Predicate<TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/function/Predicate<TT;>;)Z
    MethodParameters:
           Name  Flags
      inputs     
      predicate  

  public static <T> boolean anyMatch(java.lang.Iterable<T>, java.util.function.Predicate<T>);
    descriptor: (Ljava/lang/Iterable;Ljava/util/function/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Iterable inputs
        start local 1 // java.util.function.Predicate predicate
         0: .line 114
            aload 0 /* inputs */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.lang.Iterable java.util.function.Predicate top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* t */
        start local 2 // java.lang.Object t
         2: .line 115
            aload 1 /* predicate */
            aload 2 /* t */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 116
            iconst_1
            ireturn
        end local 2 // java.lang.Object t
         4: .line 114
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 119
            iconst_0
            ireturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.lang.Iterable inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0     inputs  Ljava/lang/Iterable<TT;>;
            0    6     1  predicate  Ljava/util/function/Predicate<TT;>;
            2    4     2          t  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Ljava/util/function/Predicate<TT;>;)Z
    MethodParameters:
           Name  Flags
      inputs     
      predicate  

  public static <T> java.util.List<T> filterToList(java.util.List<T>, java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/List;Ljava/util/function/Predicate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.List inputs
        start local 1 // java.util.function.Predicate predicate
         0: .line 123
            aload 0 /* inputs */
            aload 1 /* predicate */
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  java/util/ArrayList.<init>()V (8)
                  ()Ljava/util/List;
            invokestatic org.graalvm.util.CollectionsUtil.filterToList:(Ljava/util/List;Ljava/util/function/Predicate;Ljava/util/function/Supplier;)Ljava/util/List;
            areturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.util.List inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  Ljava/util/List<TT;>;
            0    1     1  predicate  Ljava/util/function/Predicate<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/function/Predicate<-TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
           Name  Flags
      inputs     
      predicate  

  public static <T> java.util.List<T> filterToList(java.util.List<T>, java.util.function.Predicate<? super T>, java.util.function.Supplier<java.util.List<T>>);
    descriptor: (Ljava/util/List;Ljava/util/function/Predicate;Ljava/util/function/Supplier;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.util.List inputs
        start local 1 // java.util.function.Predicate predicate
        start local 2 // java.util.function.Supplier listGenerator
         0: .line 127
            aload 2 /* listGenerator */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* resultList */
        start local 3 // java.util.List resultList
         1: .line 128
            aload 0 /* inputs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: java.util.List java.util.function.Predicate java.util.function.Supplier java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* t */
        start local 4 // java.lang.Object t
         3: .line 129
            aload 1 /* predicate */
            aload 4 /* t */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 130
            aload 3 /* resultList */
            aload 4 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object t
         5: .line 128
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 133
            aload 3 /* resultList */
            areturn
        end local 3 // java.util.List resultList
        end local 2 // java.util.function.Supplier listGenerator
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.util.List inputs
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0         inputs  Ljava/util/List<TT;>;
            0    7     1      predicate  Ljava/util/function/Predicate<-TT;>;
            0    7     2  listGenerator  Ljava/util/function/Supplier<Ljava/util/List<TT;>;>;
            1    7     3     resultList  Ljava/util/List<TT;>;
            3    5     4              t  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/function/Predicate<-TT;>;Ljava/util/function/Supplier<Ljava/util/List<TT;>;>;)Ljava/util/List<TT;>;
    MethodParameters:
               Name  Flags
      inputs         
      predicate      
      listGenerator  

  public static <T, R> R[] filterAndMapToArray(T[], java.util.function.Predicate<? super T>, java.util.function.Function<? super T, ? extends R>, java.util.function.IntFunction<R[]>);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/Predicate;Ljava/util/function/Function;Ljava/util/function/IntFunction;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // java.lang.Object[] inputs
        start local 1 // java.util.function.Predicate predicate
        start local 2 // java.util.function.Function mapper
        start local 3 // java.util.function.IntFunction arrayGenerator
         0: .line 141
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* resultList */
        start local 4 // java.util.List resultList
         1: .line 142
            aload 0 /* inputs */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 6
      StackMap locals: java.lang.Object[] java.util.function.Predicate java.util.function.Function java.util.function.IntFunction java.util.List top int int java.lang.Object[]
      StackMap stack:
         2: aload 8
            iload 6
            aaload
            astore 5 /* t */
        start local 5 // java.lang.Object t
         3: .line 143
            aload 1 /* predicate */
            aload 5 /* t */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 144
            aload 4 /* resultList */
            aload 2 /* mapper */
            aload 5 /* t */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Object t
         5: .line 142
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         6: iload 6
            iload 7
            if_icmplt 2
         7: .line 147
            aload 4 /* resultList */
            aload 3 /* arrayGenerator */
            aload 4 /* resultList */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.function.IntFunction.apply:(I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 4 // java.util.List resultList
        end local 3 // java.util.function.IntFunction arrayGenerator
        end local 2 // java.util.function.Function mapper
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.lang.Object[] inputs
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0          inputs  [Ljava/lang/Object;
            0    8     1       predicate  Ljava/util/function/Predicate<-TT;>;
            0    8     2          mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    8     3  arrayGenerator  Ljava/util/function/IntFunction<[TR;>;
            1    8     4      resultList  Ljava/util/List<TR;>;
            3    5     5               t  TT;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>([TT;Ljava/util/function/Predicate<-TT;>;Ljava/util/function/Function<-TT;+TR;>;Ljava/util/function/IntFunction<[TR;>;)[TR;
    MethodParameters:
                Name  Flags
      inputs          
      predicate       
      mapper          
      arrayGenerator  

  public static <T, R> R[] mapToArray(T[], java.util.function.Function<? super T, ? extends R>, java.util.function.IntFunction<R[]>);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/IntFunction;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object[] inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.util.function.IntFunction arrayGenerator
         0: .line 155
            aload 0 /* inputs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* mapper */
            aload 2 /* arrayGenerator */
            invokestatic org.graalvm.util.CollectionsUtil.mapToArray:(Ljava/util/Collection;Ljava/util/function/Function;Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            areturn
        end local 2 // java.util.function.IntFunction arrayGenerator
        end local 1 // java.util.function.Function mapper
        end local 0 // java.lang.Object[] inputs
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0          inputs  [Ljava/lang/Object;
            0    1     1          mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    1     2  arrayGenerator  Ljava/util/function/IntFunction<[TR;>;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>([TT;Ljava/util/function/Function<-TT;+TR;>;Ljava/util/function/IntFunction<[TR;>;)[TR;
    MethodParameters:
                Name  Flags
      inputs          
      mapper          
      arrayGenerator  

  public static <T, R> R[] mapToArray(java.util.Collection<T>, java.util.function.Function<? super T, ? extends R>, java.util.function.IntFunction<R[]>);
    descriptor: (Ljava/util/Collection;Ljava/util/function/Function;Ljava/util/function/IntFunction;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.util.Collection inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.util.function.IntFunction arrayGenerator
         0: .line 159
            aload 2 /* arrayGenerator */
            aload 0 /* inputs */
            invokeinterface java.util.Collection.size:()I
            invokeinterface java.util.function.IntFunction.apply:(I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 3 /* result */
        start local 3 // java.lang.Object[] result
         1: .line 160
            iconst_0
            istore 4 /* idx */
        start local 4 // int idx
         2: .line 161
            aload 0 /* inputs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 5
      StackMap locals: java.util.Collection java.util.function.Function java.util.function.IntFunction java.lang.Object[] int top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* t */
        start local 5 // java.lang.Object t
         4: .line 162
            aload 3 /* result */
            iload 4 /* idx */
            iinc 4 /* idx */ 1
            aload 1 /* mapper */
            aload 5 /* t */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        end local 5 // java.lang.Object t
         5: .line 161
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 164
            aload 3 /* result */
            areturn
        end local 4 // int idx
        end local 3 // java.lang.Object[] result
        end local 2 // java.util.function.IntFunction arrayGenerator
        end local 1 // java.util.function.Function mapper
        end local 0 // java.util.Collection inputs
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0          inputs  Ljava/util/Collection<TT;>;
            0    7     1          mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    7     2  arrayGenerator  Ljava/util/function/IntFunction<[TR;>;
            1    7     3          result  [Ljava/lang/Object;
            2    7     4             idx  I
            4    5     5               t  TT;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;Ljava/util/function/Function<-TT;+TR;>;Ljava/util/function/IntFunction<[TR;>;)[TR;
    MethodParameters:
                Name  Flags
      inputs          
      mapper          
      arrayGenerator  

  public static <T, R> java.lang.String mapAndJoin(T[], java.util.function.Function<? super T, ? extends R>, java.lang.String);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/Function;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Object[] inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.lang.String delimiter
         0: .line 168
            aload 0 /* inputs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* mapper */
            aload 2 /* delimiter */
            ldc ""
            ldc ""
            invokestatic org.graalvm.util.CollectionsUtil.mapAndJoin:(Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String delimiter
        end local 1 // java.util.function.Function mapper
        end local 0 // java.lang.Object[] inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  [Ljava/lang/Object;
            0    1     1     mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    1     2  delimiter  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>([TT;Ljava/util/function/Function<-TT;+TR;>;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      inputs     
      mapper     
      delimiter  

  public static <T, R> java.lang.String mapAndJoin(T[], java.util.function.Function<? super T, ? extends R>, java.lang.String, java.lang.String);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.Object[] inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.lang.String delimiter
        start local 3 // java.lang.String prefix
         0: .line 172
            aload 0 /* inputs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* mapper */
            aload 2 /* delimiter */
            aload 3 /* prefix */
            ldc ""
            invokestatic org.graalvm.util.CollectionsUtil.mapAndJoin:(Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String prefix
        end local 2 // java.lang.String delimiter
        end local 1 // java.util.function.Function mapper
        end local 0 // java.lang.Object[] inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  [Ljava/lang/Object;
            0    1     1     mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    1     2  delimiter  Ljava/lang/String;
            0    1     3     prefix  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>([TT;Ljava/util/function/Function<-TT;+TR;>;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      inputs     
      mapper     
      delimiter  
      prefix     

  public static <T, R> java.lang.String mapAndJoin(T[], java.util.function.Function<? super T, ? extends R>, java.lang.String, java.lang.String, java.lang.String);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Object[] inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.lang.String delimiter
        start local 3 // java.lang.String prefix
        start local 4 // java.lang.String suffix
         0: .line 176
            aload 0 /* inputs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* mapper */
            aload 2 /* delimiter */
            aload 3 /* prefix */
            aload 4 /* suffix */
            invokestatic org.graalvm.util.CollectionsUtil.mapAndJoin:(Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String suffix
        end local 3 // java.lang.String prefix
        end local 2 // java.lang.String delimiter
        end local 1 // java.util.function.Function mapper
        end local 0 // java.lang.Object[] inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  [Ljava/lang/Object;
            0    1     1     mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    1     2  delimiter  Ljava/lang/String;
            0    1     3     prefix  Ljava/lang/String;
            0    1     4     suffix  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>([TT;Ljava/util/function/Function<-TT;+TR;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      inputs     
      mapper     
      delimiter  
      prefix     
      suffix     

  public static <T, R> java.lang.String mapAndJoin(java.lang.Iterable<T>, java.util.function.Function<? super T, ? extends R>, java.lang.String);
    descriptor: (Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Iterable inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.lang.String delimiter
         0: .line 180
            aload 0 /* inputs */
            aload 1 /* mapper */
            aload 2 /* delimiter */
            ldc ""
            ldc ""
            invokestatic org.graalvm.util.CollectionsUtil.mapAndJoin:(Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String delimiter
        end local 1 // java.util.function.Function mapper
        end local 0 // java.lang.Iterable inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  Ljava/lang/Iterable<TT;>;
            0    1     1     mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    1     2  delimiter  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Ljava/util/function/Function<-TT;+TR;>;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      inputs     
      mapper     
      delimiter  

  public static <T, R> java.lang.String mapAndJoin(java.lang.Iterable<T>, java.util.function.Function<? super T, ? extends R>, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.Iterable inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.lang.String delimiter
        start local 3 // java.lang.String prefix
         0: .line 184
            aload 0 /* inputs */
            aload 1 /* mapper */
            aload 2 /* delimiter */
            aload 3 /* prefix */
            ldc ""
            invokestatic org.graalvm.util.CollectionsUtil.mapAndJoin:(Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String prefix
        end local 2 // java.lang.String delimiter
        end local 1 // java.util.function.Function mapper
        end local 0 // java.lang.Iterable inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inputs  Ljava/lang/Iterable<TT;>;
            0    1     1     mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    1     2  delimiter  Ljava/lang/String;
            0    1     3     prefix  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Ljava/util/function/Function<-TT;+TR;>;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      inputs     
      mapper     
      delimiter  
      prefix     

  public static <T, R> java.lang.String mapAndJoin(java.lang.Iterable<T>, java.util.function.Function<? super T, ? extends R>, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // java.lang.Iterable inputs
        start local 1 // java.util.function.Function mapper
        start local 2 // java.lang.String delimiter
        start local 3 // java.lang.String prefix
        start local 4 // java.lang.String suffix
         0: .line 188
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* strb */
        start local 5 // java.lang.StringBuilder strb
         1: .line 189
            ldc ""
            astore 6 /* sep */
        start local 6 // java.lang.String sep
         2: .line 190
            aload 0 /* inputs */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 6
      StackMap locals: java.lang.Iterable java.util.function.Function java.lang.String java.lang.String java.lang.String java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
         3: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 7 /* t */
        start local 7 // java.lang.Object t
         4: .line 191
            aload 5 /* strb */
            aload 6 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* mapper */
            aload 7 /* t */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 4 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 192
            aload 2 /* delimiter */
            astore 6 /* sep */
        end local 7 // java.lang.Object t
         6: .line 190
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 194
            aload 5 /* strb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.String sep
        end local 5 // java.lang.StringBuilder strb
        end local 4 // java.lang.String suffix
        end local 3 // java.lang.String prefix
        end local 2 // java.lang.String delimiter
        end local 1 // java.util.function.Function mapper
        end local 0 // java.lang.Iterable inputs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     inputs  Ljava/lang/Iterable<TT;>;
            0    8     1     mapper  Ljava/util/function/Function<-TT;+TR;>;
            0    8     2  delimiter  Ljava/lang/String;
            0    8     3     prefix  Ljava/lang/String;
            0    8     4     suffix  Ljava/lang/String;
            1    8     5       strb  Ljava/lang/StringBuilder;
            2    8     6        sep  Ljava/lang/String;
            4    6     7          t  TT;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Ljava/util/function/Function<-TT;+TR;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      inputs     
      mapper     
      delimiter  
      prefix     
      suffix     
}
SourceFile: "CollectionsUtil.java"
NestMembers:
  org.graalvm.util.CollectionsUtil$1  org.graalvm.util.CollectionsUtil$1$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.graalvm.util.CollectionsUtil$1