public class jdk.tools.jaotc.test.collect.ClassSearchTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.tools.jaotc.test.collect.ClassSearchTest
  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 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;

  public void itShouldThrowExceptionIfNoProvidersAvailable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 56
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 1 /* target */
        start local 1 // jdk.tools.jaotc.collect.ClassSearch target
         1: .line 57
            new jdk.tools.jaotc.collect.SearchPath
            dup
            invokespecial jdk.tools.jaotc.collect.SearchPath.<init>:()V
            astore 2 /* searchPath */
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         2: .line 58
            aload 1 /* target */
            iconst_1
            anewarray jdk.tools.jaotc.collect.SearchFor
            dup
            iconst_0
            new jdk.tools.jaotc.collect.SearchFor
            dup
            ldc "foo"
            invokespecial jdk.tools.jaotc.collect.SearchFor.<init>:(Ljava/lang/String;)V
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.list:([Ljava/lang/Object;)Ljava/util/List;
            aload 2 /* searchPath */
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            pop
         3: .line 59
            return
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // jdk.tools.jaotc.collect.ClassSearch target
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;
            1    4     1      target  Ljdk/tools/jaotc/collect/ClassSearch;
            2    4     2  searchPath  Ljdk/tools/jaotc/collect/SearchPath;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Ljava/lang/InternalError;)

  public void itShouldFindAProviderForEachEntry();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 63
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* searched */
        start local 1 // java.util.Set searched
         1: .line 64
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 2 /* target */
        start local 2 // jdk.tools.jaotc.collect.ClassSearch target
         2: .line 65
            aload 2 /* target */
            ldc ""
            aload 1 /* searched */
            invokedynamic apply(Ljava/util/Set;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$0(Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         3: .line 69
            aload 2 /* target */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            dup
            iconst_2
            ldc "foobar"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.searchForList:([Ljava/lang/String;)Ljava/util/List;
            aconst_null
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            pop
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         4: .line 70
            ldc "foo"
            aastore
            dup
            iconst_1
            ldc "bar"
            aastore
            dup
            iconst_2
            ldc "foobar"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.hashset:([Ljava/lang/Object;)Ljava/util/Set;
            aload 1 /* searched */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 71
            return
        end local 2 // jdk.tools.jaotc.collect.ClassSearch target
        end local 1 // java.util.Set searched
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;
            1    6     1  searched  Ljava/util/Set<Ljava/lang/String;>;
            2    6     2    target  Ljdk/tools/jaotc/collect/ClassSearch;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static jdk.tools.jaotc.collect.SourceProvider provider(java.lang.String, java.util.function.BiFunction<java.lang.String, jdk.tools.jaotc.collect.SearchPath, jdk.tools.jaotc.collect.ClassSource>);
    descriptor: (Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String supports
        start local 1 // java.util.function.BiFunction fn
         0: .line 74
            new jdk.tools.jaotc.test.collect.ClassSearchTest$1
            dup
            aload 1 /* fn */
            aload 0 /* supports */
            invokespecial jdk.tools.jaotc.test.collect.ClassSearchTest$1.<init>:(Ljava/util/function/BiFunction;Ljava/lang/String;)V
            areturn
        end local 1 // java.util.function.BiFunction fn
        end local 0 // java.lang.String supports
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  supports  Ljava/lang/String;
            0    1     1        fn  Ljava/util/function/BiFunction<Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;Ljdk/tools/jaotc/collect/ClassSource;>;
    Signature: (Ljava/lang/String;Ljava/util/function/BiFunction<Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;Ljdk/tools/jaotc/collect/ClassSource;>;)Ljdk/tools/jaotc/collect/SourceProvider;
    MethodParameters:
          Name  Flags
      supports  
      fn        

  public void itShouldOnlySearchSupportedProvidersForKnownType();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 89
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* visited */
        start local 1 // java.util.Set visited
         1: .line 90
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 2 /* target */
        start local 2 // jdk.tools.jaotc.collect.ClassSearch target
         2: .line 92
            aload 2 /* target */
            ldc "jar"
            aload 1 /* visited */
            invokedynamic apply(Ljava/util/Set;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$1(Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         3: .line 97
            aload 2 /* target */
            ldc "dir"
            aload 1 /* visited */
            invokedynamic apply(Ljava/util/Set;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$2(Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         4: .line 103
            aload 2 /* target */
            iconst_1
            anewarray jdk.tools.jaotc.collect.SearchFor
            dup
            iconst_0
            new jdk.tools.jaotc.collect.SearchFor
            dup
            ldc "some"
            ldc "dir"
            invokespecial jdk.tools.jaotc.collect.SearchFor.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.list:([Ljava/lang/Object;)Ljava/util/List;
            aconst_null
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            pop
         5: .line 104
            goto 7
      StackMap locals: jdk.tools.jaotc.test.collect.ClassSearchTest java.util.Set jdk.tools.jaotc.collect.ClassSearch
      StackMap stack: java.lang.InternalError
         6: pop
      StackMap locals:
      StackMap stack:
         7: iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         8: .line 108
            ldc "dir"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.hashset:([Ljava/lang/Object;)Ljava/util/Set;
            aload 1 /* visited */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 109
            return
        end local 2 // jdk.tools.jaotc.collect.ClassSearch target
        end local 1 // java.util.Set visited
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;
            1   10     1  visited  Ljava/util/Set<Ljava/lang/String;>;
            2   10     2   target  Ljdk/tools/jaotc/collect/ClassSearch;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.InternalError
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void itShouldThrowErrorIfMultipleSourcesAreAvailable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 113
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 1 /* target */
        start local 1 // jdk.tools.jaotc.collect.ClassSearch target
         1: .line 114
            aload 1 /* target */
            ldc ""
            invokedynamic apply()Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$3(Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         2: .line 115
            aload 1 /* target */
            ldc ""
            invokedynamic apply()Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$5(Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         3: .line 117
            aload 1 /* target */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "somethign"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.searchForList:([Ljava/lang/String;)Ljava/util/List;
            aconst_null
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            pop
         4: .line 118
            return
        end local 1 // jdk.tools.jaotc.collect.ClassSearch target
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;
            1    5     1  target  Ljdk/tools/jaotc/collect/ClassSearch;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Ljava/lang/InternalError;)

  public void itShouldSearchAllProvidersForUnknownType();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 122
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* visited */
        start local 1 // java.util.Set visited
         1: .line 123
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 2 /* target */
        start local 2 // jdk.tools.jaotc.collect.ClassSearch target
         2: .line 124
            aload 2 /* target */
            ldc ""
            aload 1 /* visited */
            invokedynamic apply(Ljava/util/Set;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$7(Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         3: .line 128
            aload 2 /* target */
            ldc ""
            aload 1 /* visited */
            invokedynamic apply(Ljava/util/Set;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$8(Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         4: .line 134
            aload 2 /* target */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foo"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.searchForList:([Ljava/lang/String;)Ljava/util/List;
            aconst_null
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            pop
         5: .line 135
            goto 7
      StackMap locals: jdk.tools.jaotc.test.collect.ClassSearchTest java.util.Set jdk.tools.jaotc.collect.ClassSearch
      StackMap stack: java.lang.InternalError
         6: pop
      StackMap locals:
      StackMap stack:
         7: iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         8: .line 139
            ldc "1"
            aastore
            dup
            iconst_1
            ldc "2"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.hashset:([Ljava/lang/Object;)Ljava/util/Set;
            aload 1 /* visited */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 140
            return
        end local 2 // jdk.tools.jaotc.collect.ClassSearch target
        end local 1 // java.util.Set visited
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;
            1   10     1  visited  Ljava/util/Set<Ljava/lang/String;>;
            2   10     2   target  Ljdk/tools/jaotc/collect/ClassSearch;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.InternalError
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void itShouldTryToLoadSaidClassFromClassLoader();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 144
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* loaded */
        start local 1 // java.util.Set loaded
         1: .line 146
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 2 /* target */
        start local 2 // jdk.tools.jaotc.collect.ClassSearch target
         2: .line 147
            aload 2 /* target */
            new jdk.tools.jaotc.test.collect.ClassSearchTest$2
            dup
            aload 0 /* this */
            aload 1 /* loaded */
            invokespecial jdk.tools.jaotc.test.collect.ClassSearchTest$2.<init>:(Ljdk/tools/jaotc/test/collect/ClassSearchTest;Ljava/util/Set;)V
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         3: .line 170
            aload 2 /* target */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "/tmp/something"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.searchForList:([Ljava/lang/String;)Ljava/util/List;
            aconst_null
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            astore 3 /* search */
        start local 3 // java.util.List search
         4: iconst_1
            anewarray jdk.tools.jaotc.LoadedClass
            dup
            iconst_0
         5: .line 171
            new jdk.tools.jaotc.LoadedClass
            dup
            ldc "foo.Bar"
            aconst_null
            invokespecial jdk.tools.jaotc.LoadedClass.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.list:([Ljava/lang/Object;)Ljava/util/List;
            aload 3 /* search */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 172
            return
        end local 3 // java.util.List search
        end local 2 // jdk.tools.jaotc.collect.ClassSearch target
        end local 1 // java.util.Set loaded
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;
            1    7     1  loaded  Ljava/util/Set<Ljava/lang/String;>;
            2    7     2  target  Ljdk/tools/jaotc/collect/ClassSearch;
            4    7     3  search  Ljava/util/List<Ljdk/tools/jaotc/LoadedClass;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void itShouldThrowInternalErrorWhenClassLoaderFails();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
         0: .line 176
            new jdk.tools.jaotc.test.collect.ClassSearchTest$3
            dup
            aload 0 /* this */
            invokespecial jdk.tools.jaotc.test.collect.ClassSearchTest$3.<init>:(Ljdk/tools/jaotc/test/collect/ClassSearchTest;)V
            astore 1 /* classLoader */
        start local 1 // java.lang.ClassLoader classLoader
         1: .line 183
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 2 /* target */
        start local 2 // jdk.tools.jaotc.collect.ClassSearch target
         2: .line 184
            aload 2 /* target */
            ldc ""
            aload 1 /* classLoader */
            invokedynamic apply(Ljava/lang/ClassLoader;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$9(Ljava/lang/ClassLoader;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource; (6)
                  (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.provider:(Ljava/lang/String;Ljava/util/function/BiFunction;)Ljdk/tools/jaotc/collect/SourceProvider;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         3: .line 185
            aload 2 /* target */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "foobar"
            aastore
            invokestatic jdk.tools.jaotc.test.collect.ClassSearchTest.searchForList:([Ljava/lang/String;)Ljava/util/List;
            aconst_null
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            pop
         4: .line 186
            return
        end local 2 // jdk.tools.jaotc.collect.ClassSearch target
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // jdk.tools.jaotc.test.collect.ClassSearchTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Ljdk/tools/jaotc/test/collect/ClassSearchTest;
            1    5     1  classLoader  Ljava/lang/ClassLoader;
            2    5     2       target  Ljdk/tools/jaotc/collect/ClassSearch;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Ljava/lang/InternalError;)

  private static java.util.List<jdk.tools.jaotc.collect.SearchFor> searchForList(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/List;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String[] entries
         0: .line 189
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 190
            aload 0 /* entries */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* entry */
        start local 2 // java.lang.String entry
         3: .line 191
            aload 1 /* list */
            new jdk.tools.jaotc.collect.SearchFor
            dup
            aload 2 /* entry */
            invokespecial jdk.tools.jaotc.collect.SearchFor.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String entry
         4: .line 190
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 193
            aload 1 /* list */
            areturn
        end local 1 // java.util.List list
        end local 0 // java.lang.String[] entries
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  entries  [Ljava/lang/String;
            1    7     1     list  Ljava/util/List<Ljdk/tools/jaotc/collect/SearchFor;>;
            3    4     2    entry  Ljava/lang/String;
    Signature: ([Ljava/lang/String;)Ljava/util/List<Ljdk/tools/jaotc/collect/SearchFor;>;
    MethodParameters:
         Name  Flags
      entries  

  private static <T> java.util.List<T> list(T[]);
    descriptor: ([Ljava/lang/Object;)Ljava/util/List;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.Object[] entries
         0: .line 198
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 199
            aload 0 /* entries */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.Object[] java.util.List top int int java.lang.Object[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* entry */
        start local 2 // java.lang.Object entry
         3: .line 200
            aload 1 /* list */
            aload 2 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.Object entry
         4: .line 199
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 202
            aload 1 /* list */
            areturn
        end local 1 // java.util.List list
        end local 0 // java.lang.Object[] entries
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  entries  [Ljava/lang/Object;
            1    7     1     list  Ljava/util/List<TT;>;
            3    4     2    entry  TT;
    Signature: <T:Ljava/lang/Object;>([TT;)Ljava/util/List<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
         Name  Flags
      entries  

  private static <T> java.util.Set<T> hashset(T[]);
    descriptor: ([Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.Object[] entries
         0: .line 207
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* set */
        start local 1 // java.util.Set set
         1: .line 208
            aload 0 /* entries */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.Object[] java.util.Set top int int java.lang.Object[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* entry */
        start local 2 // java.lang.Object entry
         3: .line 209
            aload 1 /* set */
            aload 2 /* entry */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.Object entry
         4: .line 208
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 211
            aload 1 /* set */
            areturn
        end local 1 // java.util.Set set
        end local 0 // java.lang.Object[] entries
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  entries  [Ljava/lang/Object;
            1    7     1      set  Ljava/util/Set<TT;>;
            3    4     2    entry  TT;
    Signature: <T:Ljava/lang/Object;>([TT;)Ljava/util/Set<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
         Name  Flags
      entries  

  private static jdk.tools.jaotc.collect.ClassSource lambda$0(java.util.Set, java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String name
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 66
            aload 0
            aload 1 /* name */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 67
            new jdk.tools.jaotc.test.collect.ClassSearchTest$NoopSource
            dup
            invokespecial jdk.tools.jaotc.test.collect.ClassSearchTest$NoopSource.<init>:()V
            areturn
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     1        name  Ljava/lang/String;
            0    2     2  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static jdk.tools.jaotc.collect.ClassSource lambda$1(java.util.Set, java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String name
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 93
            aload 0
            ldc "jar"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 94
            aconst_null
            areturn
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     1        name  Ljava/lang/String;
            0    2     2  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static jdk.tools.jaotc.collect.ClassSource lambda$2(java.util.Set, java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String name
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 98
            aload 0
            ldc "dir"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 99
            aconst_null
            areturn
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     1        name  Ljava/lang/String;
            0    2     2  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static jdk.tools.jaotc.collect.ClassSource lambda$3(java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 114
            invokedynamic eachClass()Ljdk/tools/jaotc/collect/ClassSource;
              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/util/function/BiConsumer;)V
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$4(Ljava/util/function/BiConsumer;)V (6)
                  (Ljava/util/function/BiConsumer;)V
            areturn
        end local 1 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        name  Ljava/lang/String;
            0    1     1  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static jdk.tools.jaotc.collect.ClassSource lambda$5(java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 115
            invokedynamic eachClass()Ljdk/tools/jaotc/collect/ClassSource;
              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/util/function/BiConsumer;)V
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$6(Ljava/util/function/BiConsumer;)V (6)
                  (Ljava/util/function/BiConsumer;)V
            areturn
        end local 1 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        name  Ljava/lang/String;
            0    1     1  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static jdk.tools.jaotc.collect.ClassSource lambda$7(java.util.Set, java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String name
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 125
            aload 0
            ldc "1"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 126
            aconst_null
            areturn
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     1        name  Ljava/lang/String;
            0    2     2  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static jdk.tools.jaotc.collect.ClassSource lambda$8(java.util.Set, java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/util/Set;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String name
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 129
            aload 0
            ldc "2"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 130
            aconst_null
            areturn
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     1        name  Ljava/lang/String;
            0    2     2  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static jdk.tools.jaotc.collect.ClassSource lambda$9(java.lang.ClassLoader, java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 1 // java.lang.String name
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 184
            aload 0
            invokedynamic eachClass(Ljava/lang/ClassLoader;)Ljdk/tools/jaotc/collect/ClassSource;
              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/util/function/BiConsumer;)V
                  jdk/tools/jaotc/test/collect/ClassSearchTest.lambda$10(Ljava/lang/ClassLoader;Ljava/util/function/BiConsumer;)V (6)
                  (Ljava/util/function/BiConsumer;)V
            areturn
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     1        name  Ljava/lang/String;
            0    1     2  searchPath  Ljdk/tools/jaotc/collect/SearchPath;

  private static void lambda$4(java.util.function.BiConsumer);
    descriptor: (Ljava/util/function/BiConsumer;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.util.function.BiConsumer consumer
         0: .line 114
            invokestatic org.junit.Assert.fail:()V
            return
        end local 0 // java.util.function.BiConsumer consumer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  consumer  Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/lang/ClassLoader;>;

  private static void lambda$6(java.util.function.BiConsumer);
    descriptor: (Ljava/util/function/BiConsumer;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.util.function.BiConsumer consumer
         0: .line 115
            invokestatic org.junit.Assert.fail:()V
            return
        end local 0 // java.util.function.BiConsumer consumer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  consumer  Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/lang/ClassLoader;>;

  private static void lambda$10(java.lang.ClassLoader, java.util.function.BiConsumer);
    descriptor: (Ljava/lang/ClassLoader;Ljava/util/function/BiConsumer;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.util.function.BiConsumer consumer
         0: .line 184
            aload 1 /* consumer */
            ldc "foo.Bar"
            aload 0
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
            return
        end local 1 // java.util.function.BiConsumer consumer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     1  consumer  Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/lang/ClassLoader;>;
}
SourceFile: "ClassSearchTest.java"
NestMembers:
  jdk.tools.jaotc.test.collect.ClassSearchTest$1  jdk.tools.jaotc.test.collect.ClassSearchTest$2  jdk.tools.jaotc.test.collect.ClassSearchTest$2$1  jdk.tools.jaotc.test.collect.ClassSearchTest$2$1$1  jdk.tools.jaotc.test.collect.ClassSearchTest$3  jdk.tools.jaotc.test.collect.ClassSearchTest$NoopSource
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.tools.jaotc.test.collect.ClassSearchTest$1
  jdk.tools.jaotc.test.collect.ClassSearchTest$2
  jdk.tools.jaotc.test.collect.ClassSearchTest$3
  private NoopSource = jdk.tools.jaotc.test.collect.ClassSearchTest$NoopSource of jdk.tools.jaotc.test.collect.ClassSearchTest