public final class com.oracle.svm.util.ModuleSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.util.ModuleSupport
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.util.ModuleSupport this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            return
        end local 0 // com.oracle.svm.util.ModuleSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/util/ModuleSupport;

  public static java.util.ResourceBundle getResourceBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String bundleName
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.ClassLoader loader
         0: .line 56
            aload 2 /* loader */
            aload 0 /* bundleName */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* bundleClass */
        start local 3 // java.lang.Class bundleClass
         1: .line 57
            goto 4
        end local 3 // java.lang.Class bundleClass
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         2: pop
         3: .line 58
            aload 0 /* bundleName */
            aload 1 /* locale */
            aload 2 /* loader */
            invokestatic com.oracle.svm.util.ModuleSupport.getResourceBundleFallback:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
            areturn
        start local 3 // java.lang.Class bundleClass
         4: .line 64
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* bundleClass */
            ldc Lcom/oracle/svm/util/ModuleSupport;
            invokestatic com.oracle.svm.util.ModuleSupport.openModule:(Ljava/lang/Class;Ljava/lang/Class;)V
         5: .line 65
            aload 0 /* bundleName */
            aload 1 /* locale */
            aload 3 /* bundleClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Module;)Ljava/util/ResourceBundle;
            areturn
        end local 3 // java.lang.Class bundleClass
        end local 2 // java.lang.ClassLoader loader
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String bundleName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0   bundleName  Ljava/lang/String;
            0    6     1       locale  Ljava/util/Locale;
            0    6     2       loader  Ljava/lang/ClassLoader;
            1    2     3  bundleClass  Ljava/lang/Class<*>;
            4    6     3  bundleClass  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    MethodParameters:
            Name  Flags
      bundleName  
      locale      
      loader      

  private static java.util.ResourceBundle getResourceBundleFallback(java.lang.String, java.util.Locale, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String bundleName
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.ClassLoader loader
         0: .line 70
            invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
            invokevirtual java.lang.ModuleLayer.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: java.lang.String java.util.Locale java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Module
            astore 3 /* module */
        start local 3 // java.lang.Module module
         2: .line 72
            aload 0 /* bundleName */
            aload 1 /* locale */
            aload 3 /* module */
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Module;)Ljava/util/ResourceBundle;
         3: areturn
         4: .line 73
      StackMap locals: java.lang.String java.util.Locale java.lang.ClassLoader java.lang.Module java.util.Iterator
      StackMap stack: java.util.MissingResourceException
            pop
        end local 3 // java.lang.Module module
         5: .line 70
      StackMap locals: java.lang.String java.util.Locale java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 82
            aload 0 /* bundleName */
            aload 1 /* locale */
            aload 2 /* loader */
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
            areturn
        end local 2 // java.lang.ClassLoader loader
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String bundleName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  bundleName  Ljava/lang/String;
            0    7     1      locale  Ljava/util/Locale;
            0    7     2      loader  Ljava/lang/ClassLoader;
            2    5     3      module  Ljava/lang/Module;
      Exception table:
        from    to  target  type
           2     3       4  Class java.util.MissingResourceException
    MethodParameters:
            Name  Flags
      bundleName  
      locale      
      loader      

  public static boolean hasSystemModule(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String moduleName
         0: .line 86
            invokestatic java.lang.module.ModuleFinder.ofSystem:()Ljava/lang/module/ModuleFinder;
            aload 0 /* moduleName */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ireturn
        end local 0 // java.lang.String moduleName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  moduleName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      moduleName  

  public static java.util.List<java.lang.String> getModuleResources(java.util.Collection<java.nio.file.Path>);
    descriptor: (Ljava/util/Collection;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.util.Collection modulePath
         0: .line 90
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.ArrayList result
         1: .line 91
            aload 0 /* modulePath */
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  com/oracle/svm/util/ModuleSupport.lambda$0(I)[Ljava/nio/file/Path; (6)
                  (I)[Ljava/nio/file/Path;
            invokeinterface java.util.Collection.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.nio.file.Path[]
            invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 14
      StackMap locals: java.util.Collection java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ModuleReference
            astore 2 /* moduleReference */
        start local 2 // java.lang.module.ModuleReference moduleReference
         3: .line 92
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 2 /* moduleReference */
            invokevirtual java.lang.module.ModuleReference.open:()Ljava/lang/module/ModuleReader;
            astore 6 /* moduleReader */
        start local 6 // java.lang.module.ModuleReader moduleReader
         5: .line 93
            aload 1 /* result */
            aload 6 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.list:()Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 94
            aload 6 /* moduleReader */
            ifnull 14
            aload 6 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.close:()V
            goto 14
      StackMap locals: java.util.Collection java.util.ArrayList java.lang.module.ModuleReference java.util.Iterator java.lang.Throwable java.lang.Throwable java.lang.module.ModuleReader
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 6 /* moduleReader */
            ifnull 8
            aload 6 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.close:()V
        end local 6 // java.lang.module.ModuleReader moduleReader
      StackMap locals:
      StackMap stack:
         8: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 4
            ifnonnull 10
            aload 5
            astore 4
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 4
            aload 5
            if_acmpeq 11
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
      StackMap locals: java.util.Collection java.util.ArrayList java.lang.module.ModuleReference java.util.Iterator
      StackMap stack: java.io.IOException
        12: astore 4 /* e */
        start local 4 // java.io.IOException e
        13: .line 95
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable get list of resources in module"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* moduleReference */
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        end local 2 // java.lang.module.ModuleReference moduleReference
        14: .line 91
      StackMap locals: java.util.Collection java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        15: .line 98
            aload 1 /* result */
            areturn
        end local 1 // java.util.ArrayList result
        end local 0 // java.util.Collection modulePath
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0       modulePath  Ljava/util/Collection<Ljava/nio/file/Path;>;
            1   16     1           result  Ljava/util/ArrayList<Ljava/lang/String;>;
            3   14     2  moduleReference  Ljava/lang/module/ModuleReference;
            5    8     6     moduleReader  Ljava/lang/module/ModuleReader;
           13   14     4                e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9       9  any
           3    12      12  Class java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/nio/file/Path;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      modulePath  

  public static java.util.List<java.lang.String> getSystemModuleResources(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.util.Collection names
         0: .line 102
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 103
            aload 0 /* names */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 17
      StackMap locals: java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* name */
        start local 2 // java.lang.String name
         3: .line 104
            invokestatic java.lang.module.ModuleFinder.ofSystem:()Ljava/lang/module/ModuleFinder;
            aload 2 /* name */
            invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
            astore 4 /* moduleReference */
        start local 4 // java.util.Optional moduleReference
         4: .line 105
            aload 4 /* moduleReference */
            invokevirtual java.util.Optional.isEmpty:()Z
            ifeq 6
         5: .line 106
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable find ModuleReference for module "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 108
      StackMap locals: java.util.Collection java.util.List java.lang.String java.util.Iterator java.util.Optional
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
         7: aload 4 /* moduleReference */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.module.ModuleReference
            invokevirtual java.lang.module.ModuleReference.open:()Ljava/lang/module/ModuleReader;
            astore 7 /* moduleReader */
        start local 7 // java.lang.module.ModuleReader moduleReader
         8: .line 109
            aload 1 /* result */
            aload 7 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.list:()Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 110
            aload 7 /* moduleReader */
            ifnull 17
            aload 7 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.close:()V
            goto 17
      StackMap locals: java.util.Collection java.util.List java.lang.String java.util.Iterator java.util.Optional java.lang.Throwable java.lang.Throwable java.lang.module.ModuleReader
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 7 /* moduleReader */
            ifnull 11
            aload 7 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.close:()V
        end local 7 // java.lang.module.ModuleReader moduleReader
      StackMap locals:
      StackMap stack:
        11: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 6
            aload 5
            ifnonnull 13
            aload 6
            astore 5
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 5
            aload 6
            if_acmpeq 14
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 5
            athrow
      StackMap locals: java.util.Collection java.util.List java.lang.String java.util.Iterator java.util.Optional
      StackMap stack: java.io.IOException
        15: astore 5 /* e */
        start local 5 // java.io.IOException e
        16: .line 111
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable get list of resources in module"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        end local 4 // java.util.Optional moduleReference
        end local 2 // java.lang.String name
        17: .line 103
      StackMap locals: java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        18: .line 114
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // java.util.Collection names
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0            names  Ljava/util/Collection<Ljava/lang/String;>;
            1   19     1           result  Ljava/util/List<Ljava/lang/String;>;
            3   17     2             name  Ljava/lang/String;
            4   17     4  moduleReference  Ljava/util/Optional<Ljava/lang/module/ModuleReference;>;
            8   11     7     moduleReader  Ljava/lang/module/ModuleReader;
           16   17     5                e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8     9      10  any
           7    12      12  any
           6    15      15  Class java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      names  

  public static void openModule(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.Class declaringClass
        start local 1 // java.lang.Class accessingClass
         0: .line 118
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 2 /* declaringModule */
        start local 2 // java.lang.Module declaringModule
         1: .line 119
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            astore 3 /* packageName */
        start local 3 // java.lang.String packageName
         2: .line 120
            aload 1 /* accessingClass */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: java.lang.Module java.lang.String
      StackMap stack:
         3: aload 1 /* accessingClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
      StackMap locals:
      StackMap stack: java.lang.Module
         4: astore 4 /* accessingModule */
        start local 4 // java.lang.Module accessingModule
         5: .line 121
            aload 4 /* accessingModule */
            ifnull 9
            aload 4 /* accessingModule */
            invokevirtual java.lang.Module.isNamed:()Z
            ifeq 9
         6: .line 122
            aload 2 /* declaringModule */
            aload 3 /* packageName */
            aload 4 /* accessingModule */
            invokevirtual java.lang.Module.isOpen:(Ljava/lang/String;Ljava/lang/Module;)Z
            ifne 10
         7: .line 123
            aload 2 /* declaringModule */
            aload 3 /* packageName */
            aload 4 /* accessingModule */
            invokestatic jdk.internal.module.Modules.addOpens:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
         8: .line 125
            goto 10
         9: .line 126
      StackMap locals: java.lang.Module
      StackMap stack:
            aload 2 /* declaringModule */
            aload 3 /* packageName */
            invokestatic jdk.internal.module.Modules.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
        10: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Module accessingModule
        end local 3 // java.lang.String packageName
        end local 2 // java.lang.Module declaringModule
        end local 1 // java.lang.Class accessingClass
        end local 0 // java.lang.Class declaringClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0   declaringClass  Ljava/lang/Class<*>;
            0   11     1   accessingClass  Ljava/lang/Class<*>;
            1   11     2  declaringModule  Ljava/lang/Module;
            2   11     3      packageName  Ljava/lang/String;
            5   11     4  accessingModule  Ljava/lang/Module;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
    MethodParameters:
                Name  Flags
      declaringClass  
      accessingClass  

  public static java.lang.ClassLoader getPlatformClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 131
            invokestatic java.lang.ClassLoader.getPlatformClassLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void exportAndOpenAllPackagesToUnnamed(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.lang.String name
        start local 1 // boolean optional
         0: .line 139
            invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
            aload 0 /* name */
            invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            astore 2 /* value */
        start local 2 // java.util.Optional value
         1: .line 140
            aload 2 /* value */
            invokevirtual java.util.Optional.isEmpty:()Z
            ifeq 5
         2: .line 141
            iload 1 /* optional */
            ifne 4
         3: .line 142
            new java.util.NoSuchElementException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No module in boot layer named "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". Available modules: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 144
      StackMap locals: java.util.Optional
      StackMap stack:
            return
         5: .line 146
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Module
            astore 3 /* module */
        start local 3 // java.lang.Module module
         6: .line 147
            aload 3 /* module */
            invokevirtual java.lang.Module.getPackages:()Ljava/util/Set;
            astore 4 /* packages */
        start local 4 // java.util.Set packages
         7: .line 148
            aload 4 /* packages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: java.lang.String int java.util.Optional java.lang.Module java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* pkg */
        start local 5 // java.lang.String pkg
         9: .line 149
            aload 3 /* module */
            aload 5 /* pkg */
            invokestatic jdk.internal.module.Modules.addExportsToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
        10: .line 150
            aload 3 /* module */
            aload 5 /* pkg */
            invokestatic jdk.internal.module.Modules.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
        end local 5 // java.lang.String pkg
        11: .line 148
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        12: .line 152
            return
        end local 4 // java.util.Set packages
        end local 3 // java.lang.Module module
        end local 2 // java.util.Optional value
        end local 1 // boolean optional
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      name  Ljava/lang/String;
            0   13     1  optional  Z
            1   13     2     value  Ljava/util/Optional<Ljava/lang/Module;>;
            6   13     3    module  Ljava/lang/Module;
            7   13     4  packages  Ljava/util/Set<Ljava/lang/String;>;
            9   11     5       pkg  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      name      
      optional  

  public static void exportAndOpenPackageToUnnamed(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.String pkg
        start local 2 // boolean optional
         0: .line 160
            invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
            aload 0 /* name */
            invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            astore 3 /* value */
        start local 3 // java.util.Optional value
         1: .line 161
            aload 3 /* value */
            invokevirtual java.util.Optional.isEmpty:()Z
            ifeq 5
         2: .line 162
            iload 2 /* optional */
            ifne 4
         3: .line 163
            new java.util.NoSuchElementException
            dup
            aload 0 /* name */
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 165
      StackMap locals: java.util.Optional
      StackMap stack:
            return
         5: .line 167
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Module
            astore 4 /* module */
        start local 4 // java.lang.Module module
         6: .line 168
            aload 4 /* module */
            aload 1 /* pkg */
            invokestatic jdk.internal.module.Modules.addExportsToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
         7: .line 169
            aload 4 /* module */
            aload 1 /* pkg */
            invokestatic jdk.internal.module.Modules.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
         8: .line 170
            return
        end local 4 // java.lang.Module module
        end local 3 // java.util.Optional value
        end local 2 // boolean optional
        end local 1 // java.lang.String pkg
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      name  Ljava/lang/String;
            0    9     1       pkg  Ljava/lang/String;
            0    9     2  optional  Z
            1    9     3     value  Ljava/util/Optional<Ljava/lang/Module;>;
            6    9     4    module  Ljava/lang/Module;
    MethodParameters:
          Name  Flags
      name      
      pkg       
      optional  

  public static java.lang.String getModuleName(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 173
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            invokevirtual java.lang.Module.getName:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      clazz  

  public static void findResourcesInModules(java.util.function.Predicate<java.lang.String>, java.util.function.BiConsumer<java.lang.String, java.io.InputStream>);
    descriptor: (Ljava/util/function/Predicate;Ljava/util/function/BiConsumer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=13, args_size=2
        start local 0 // java.util.function.Predicate resourceNameFilter
        start local 1 // java.util.function.BiConsumer operation
         0: .line 187
            invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
            invokevirtual java.lang.ModuleLayer.configuration:()Ljava/lang/module/Configuration;
            invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 24
      StackMap locals: java.util.function.Predicate java.util.function.BiConsumer top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ResolvedModule
            astore 2 /* resolvedModule */
        start local 2 // java.lang.module.ResolvedModule resolvedModule
         2: .line 188
            aload 2 /* resolvedModule */
            invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
            astore 4 /* modRef */
        start local 4 // java.lang.module.ModuleReference modRef
         3: .line 189
            aconst_null
            astore 5
            aconst_null
            astore 6
         4: aload 4 /* modRef */
            invokevirtual java.lang.module.ModuleReference.open:()Ljava/lang/module/ModuleReader;
            astore 7 /* moduleReader */
        start local 7 // java.lang.module.ModuleReader moduleReader
         5: .line 190
            aload 7 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.list:()Ljava/util/stream/Stream;
         6: .line 191
            aload 0 /* resourceNameFilter */
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         7: .line 192
            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
         8: .line 190
            astore 8 /* resources */
        start local 8 // java.util.List resources
         9: .line 194
            aload 8 /* resources */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 17
      StackMap locals: java.util.function.Predicate java.util.function.BiConsumer java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.Throwable java.lang.Throwable java.lang.module.ModuleReader java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* resName */
        start local 9 // java.lang.String resName
        11: .line 195
            aload 7 /* moduleReader */
            aload 9 /* resName */
            invokeinterface java.lang.module.ModuleReader.open:(Ljava/lang/String;)Ljava/util/Optional;
            astore 11 /* content */
        start local 11 // java.util.Optional content
        12: .line 196
            aload 11 /* content */
            invokevirtual java.util.Optional.isEmpty:()Z
            ifeq 14
        13: .line 197
            goto 17
        14: .line 199
      StackMap locals: java.util.function.Predicate java.util.function.BiConsumer java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.Throwable java.lang.Throwable java.lang.module.ModuleReader java.util.List java.lang.String java.util.Iterator java.util.Optional
      StackMap stack:
            aload 11 /* content */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.io.InputStream
            astore 12 /* is */
        start local 12 // java.io.InputStream is
        15: .line 200
            aload 1 /* operation */
            aload 9 /* resName */
            aload 12 /* is */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 201
            aload 12 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 12 // java.io.InputStream is
        end local 11 // java.util.Optional content
        end local 9 // java.lang.String resName
        17: .line 194
      StackMap locals: java.util.function.Predicate java.util.function.BiConsumer java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.Throwable java.lang.Throwable java.lang.module.ModuleReader java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 8 // java.util.List resources
        18: .line 203
            aload 7 /* moduleReader */
            ifnull 24
            aload 7 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.close:()V
            goto 24
      StackMap locals: java.util.function.Predicate java.util.function.BiConsumer java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.Throwable java.lang.Throwable java.lang.module.ModuleReader
      StackMap stack: java.lang.Throwable
        19: astore 5
            aload 7 /* moduleReader */
            ifnull 20
            aload 7 /* moduleReader */
            invokeinterface java.lang.module.ModuleReader.close:()V
        end local 7 // java.lang.module.ModuleReader moduleReader
      StackMap locals:
      StackMap stack:
        20: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 6
            aload 5
            ifnonnull 22
            aload 6
            astore 5
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 5
            aload 6
            if_acmpeq 23
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 5
            athrow
        end local 4 // java.lang.module.ModuleReference modRef
        end local 2 // java.lang.module.ResolvedModule resolvedModule
        24: .line 187
      StackMap locals: java.util.function.Predicate java.util.function.BiConsumer top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        25: .line 205
            return
        end local 1 // java.util.function.BiConsumer operation
        end local 0 // java.util.function.Predicate resourceNameFilter
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0  resourceNameFilter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            0   26     1           operation  Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/io/InputStream;>;
            2   24     2      resolvedModule  Ljava/lang/module/ResolvedModule;
            3   24     4              modRef  Ljava/lang/module/ModuleReference;
            5   20     7        moduleReader  Ljava/lang/module/ModuleReader;
            9   18     8           resources  Ljava/util/List<Ljava/lang/String;>;
           11   17     9             resName  Ljava/lang/String;
           12   17    11             content  Ljava/util/Optional<Ljava/io/InputStream;>;
           15   17    12                  is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           5    18      19  any
           4    21      21  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/function/Predicate<Ljava/lang/String;>;Ljava/util/function/BiConsumer<Ljava/lang/String;Ljava/io/InputStream;>;)V
    MethodParameters:
                    Name  Flags
      resourceNameFilter  
      operation           

  private static java.nio.file.Path[] lambda$0(int);
    descriptor: (I)[Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.nio.file.Path
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ModuleSupport.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles