class jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager extends jdk.tools.jlink.internal.ResourcePoolManager
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager
  super_class: jdk.tools.jlink.internal.ResourcePoolManager
{
  private final jdk.tools.jlink.plugin.ResourcePool pool;
    descriptor: Ljdk/tools/jlink/plugin/ResourcePool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  jdk.internal.jimage.decompressor.Decompressor decompressor;
    descriptor: Ljdk/internal/jimage/decompressor/Decompressor;
    flags: (0x0000) 

  java.util.Collection<jdk.tools.jlink.plugin.ResourcePoolEntry> content;
    descriptor: Ljava/util/Collection;
    flags: (0x0000) 
    Signature: Ljava/util/Collection<Ljdk/tools/jlink/plugin/ResourcePoolEntry;>;

  final jdk.tools.jlink.internal.ImagePluginStack this$0;
    descriptor: Ljdk/tools/jlink/internal/ImagePluginStack;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(jdk.tools.jlink.internal.ImagePluginStack, jdk.tools.jlink.plugin.ResourcePool);
    descriptor: (Ljdk/tools/jlink/internal/ImagePluginStack;Ljdk/tools/jlink/plugin/ResourcePool;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 2 // jdk.tools.jlink.plugin.ResourcePool pool
         0: .line 369
            aload 0 /* this */
            aload 1
            putfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.this$0:Ljdk/tools/jlink/internal/ImagePluginStack;
            aload 0 /* this */
            invokespecial jdk.tools.jlink.internal.ResourcePoolManager.<init>:()V
         1: .line 366
            aload 0 /* this */
            new jdk.internal.jimage.decompressor.Decompressor
            dup
            invokespecial jdk.internal.jimage.decompressor.Decompressor.<init>:()V
            putfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.decompressor:Ljdk/internal/jimage/decompressor/Decompressor;
         2: .line 370
            aload 0 /* this */
            aload 2 /* pool */
            putfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
         3: .line 371
            return
        end local 2 // jdk.tools.jlink.plugin.ResourcePool pool
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    4     2  pool  Ljdk/tools/jlink/plugin/ResourcePool;
    MethodParameters:
        Name  Flags
      this$0  final
      pool    

  public void add(jdk.tools.jlink.plugin.ResourcePoolEntry);
    descriptor: (Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry resource
         0: .line 375
            new jdk.tools.jlink.plugin.PluginException
            dup
            ldc "pool is readonly"
            invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry resource
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    1     1  resource  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    MethodParameters:
          Name  Flags
      resource  

  public java.util.Optional<jdk.tools.jlink.plugin.ResourcePoolModule> findModule(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // java.lang.String name
         0: .line 380
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.moduleView:()Ljdk/tools/jlink/plugin/ResourcePoolModuleView;
            aload 1 /* name */
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolModuleView.findModule:(Ljava/lang/String;)Ljava/util/Optional;
            astore 2 /* module */
        start local 2 // java.util.Optional module
         1: .line 381
            aload 2 /* module */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 2
            new jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager$LastModule
            dup
            aload 0 /* this */
            aload 2 /* module */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast jdk.tools.jlink.plugin.ResourcePoolModule
            invokespecial jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager$LastModule.<init>:(Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;Ljdk/tools/jlink/plugin/ResourcePoolModule;)V
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            goto 3
      StackMap locals: java.util.Optional
      StackMap stack:
         2: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
      StackMap locals:
      StackMap stack: java.util.Optional
         3: areturn
        end local 2 // java.util.Optional module
        end local 1 // java.lang.String name
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    4     1    name  Ljava/lang/String;
            1    4     2  module  Ljava/util/Optional<Ljdk/tools/jlink/plugin/ResourcePoolModule;>;
    Signature: (Ljava/lang/String;)Ljava/util/Optional<Ljdk/tools/jlink/plugin/ResourcePoolModule;>;
    MethodParameters:
      Name  Flags
      name  

  public java.util.stream.Stream<jdk.tools.jlink.plugin.ResourcePoolModule> modules();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
         0: .line 391
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* modules */
        start local 1 // java.util.List modules
         1: .line 392
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.moduleView:()Ljdk/tools/jlink/plugin/ResourcePoolModuleView;
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolModuleView.modules:()Ljava/util/stream/Stream;
            aload 0 /* this */
            aload 1 /* modules */
            invokedynamic accept(Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;Ljava/util/List;)Ljava/util/function/Consumer;
              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;)V
                  jdk/tools/jlink/internal/ImagePluginStack$LastPoolManager.lambda$0(Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolModule;)V (7)
                  (Ljdk/tools/jlink/plugin/ResourcePoolModule;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         2: .line 395
            aload 1 /* modules */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // java.util.List modules
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            1    3     1  modules  Ljava/util/List<Ljdk/tools/jlink/plugin/ResourcePoolModule;>;
    Signature: ()Ljava/util/stream/Stream<Ljdk/tools/jlink/plugin/ResourcePoolModule;>;

  public int moduleCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
         0: .line 400
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.moduleView:()Ljdk/tools/jlink/plugin/ResourcePoolModuleView;
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolModuleView.moduleCount:()I
            ireturn
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;

  public java.util.stream.Stream<jdk.tools.jlink.plugin.ResourcePoolEntry> entries();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
         0: .line 410
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.content:Ljava/util/Collection;
            ifnonnull 3
         1: .line 411
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.content:Ljava/util/Collection;
         2: .line 412
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.entries:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic accept(Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;)Ljava/util/function/Consumer;
              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;)V
                  jdk/tools/jlink/internal/ImagePluginStack$LastPoolManager.lambda$1(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V (7)
                  (Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         3: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.content:Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
    Signature: ()Ljava/util/stream/Stream<Ljdk/tools/jlink/plugin/ResourcePoolEntry;>;

  public int entryCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
         0: .line 421
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.entryCount:()I
            ireturn
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;

  public java.util.Optional<jdk.tools.jlink.plugin.ResourcePoolEntry> findEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // java.lang.String path
         0: .line 432
            aload 1 /* path */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 433
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            aload 1 /* path */
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.findEntry:(Ljava/lang/String;)Ljava/util/Optional;
            astore 2 /* res */
        start local 2 // java.util.Optional res
         2: .line 434
            aload 2 /* res */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 3
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast jdk.tools.jlink.plugin.ResourcePoolEntry
            invokevirtual jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.getUncompressed:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            goto 4
      StackMap locals: java.util.Optional
      StackMap stack:
         3: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
      StackMap locals:
      StackMap stack: java.util.Optional
         4: areturn
        end local 2 // java.util.Optional res
        end local 1 // java.lang.String path
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    5     1  path  Ljava/lang/String;
            2    5     2   res  Ljava/util/Optional<Ljdk/tools/jlink/plugin/ResourcePoolEntry;>;
    Signature: (Ljava/lang/String;)Ljava/util/Optional<Ljdk/tools/jlink/plugin/ResourcePoolEntry;>;
    MethodParameters:
      Name  Flags
      path  

  public java.util.Optional<jdk.tools.jlink.plugin.ResourcePoolEntry> findEntryInContext(java.lang.String, jdk.tools.jlink.plugin.ResourcePoolEntry);
    descriptor: (Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // java.lang.String path
        start local 2 // jdk.tools.jlink.plugin.ResourcePoolEntry context
         0: .line 439
            aload 1 /* path */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 440
            aload 2 /* context */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 441
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            aload 1 /* path */
            aload 2 /* context */
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.findEntryInContext:(Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljava/util/Optional;
            astore 3 /* res */
        start local 3 // java.util.Optional res
         3: .line 442
            aload 3 /* res */
            aload 0 /* this */
            invokedynamic apply(Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jlink/internal/ImagePluginStack$LastPoolManager.getUncompressed(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry; (7)
                  (Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            areturn
        end local 3 // java.util.Optional res
        end local 2 // jdk.tools.jlink.plugin.ResourcePoolEntry context
        end local 1 // java.lang.String path
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    4     1     path  Ljava/lang/String;
            0    4     2  context  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            3    4     3      res  Ljava/util/Optional<Ljdk/tools/jlink/plugin/ResourcePoolEntry;>;
    Signature: (Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljava/util/Optional<Ljdk/tools/jlink/plugin/ResourcePoolEntry;>;
    MethodParameters:
         Name  Flags
      path     
      context  

  public boolean contains(jdk.tools.jlink.plugin.ResourcePoolEntry);
    descriptor: (Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry res
         0: .line 447
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            aload 1 /* res */
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.contains:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Z
            ireturn
        end local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry res
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    1     1   res  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    MethodParameters:
      Name  Flags
      res   

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
         0: .line 452
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.isEmpty:()Z
            ireturn
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;

  public java.nio.ByteOrder byteOrder();
    descriptor: ()Ljava/nio/ByteOrder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
         0: .line 457
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.byteOrder:()Ljava/nio/ByteOrder;
            areturn
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;

  private jdk.tools.jlink.plugin.ResourcePoolEntry getUncompressed(jdk.tools.jlink.plugin.ResourcePoolEntry);
    descriptor: (Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry res
         0: .line 461
            aload 1 /* res */
            ifnull 13
         1: .line 462
            aload 1 /* res */
            instanceof jdk.tools.jlink.internal.ResourcePoolManager$CompressedModuleData
            ifeq 13
         2: .line 464
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.decompressor:Ljdk/internal/jimage/decompressor/Decompressor;
            aload 0 /* this */
            invokevirtual jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.byteOrder:()Ljava/nio/ByteOrder;
         3: .line 465
            aload 0 /* this */
            invokedynamic getString(Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;)Ljdk/internal/jimage/decompressor/ResourceDecompressor$StringsProvider;
              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/String;
                  jdk/tools/jlink/internal/ImagePluginStack$LastPoolManager.lambda$3(I)Ljava/lang/String; (7)
                  (I)Ljava/lang/String;
         4: .line 466
            aload 1 /* res */
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.contentBytes:()[B
         5: .line 464
            invokevirtual jdk.internal.jimage.decompressor.Decompressor.decompressResource:(Ljava/nio/ByteOrder;Ljdk/internal/jimage/decompressor/ResourceDecompressor$StringsProvider;[B)[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         6: .line 467
            aload 1 /* res */
            aload 2 /* bytes */
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.copyWithContent:([B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            astore 1 /* res */
        end local 2 // byte[] bytes
         7: .line 468
            goto 13
      StackMap locals:
      StackMap stack: java.io.IOException
         8: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         9: .line 469
            getstatic jdk.tools.jlink.internal.JlinkTask.DEBUG:Z
            ifeq 12
        10: .line 470
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "IOException while reading resource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* res */
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.path:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 471
            aload 2 /* ex */
            invokevirtual java.io.IOException.printStackTrace:()V
        12: .line 473
      StackMap locals: java.io.IOException
      StackMap stack:
            new jdk.tools.jlink.plugin.PluginException
            dup
            aload 2 /* ex */
            invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ex
        13: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* res */
            areturn
        end local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry res
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0   14     1    res  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            6    7     2  bytes  [B
            9   13     2     ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     7       8  Class java.io.IOException
    MethodParameters:
      Name  Flags
      res   

  private void lambda$0(java.util.List, jdk.tools.jlink.plugin.ResourcePoolModule);
    descriptor: (Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolModule;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 2 // jdk.tools.jlink.plugin.ResourcePoolModule m
         0: .line 393
            aload 1
            new jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager$LastModule
            dup
            aload 0 /* this */
            aload 2 /* m */
            invokespecial jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager$LastModule.<init>:(Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;Ljdk/tools/jlink/plugin/ResourcePoolModule;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 394
            return
        end local 2 // jdk.tools.jlink.plugin.ResourcePoolModule m
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    2     2     m  Ljdk/tools/jlink/plugin/ResourcePoolModule;

  private void lambda$1(jdk.tools.jlink.plugin.ResourcePoolEntry);
    descriptor: (Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry md
         0: .line 413
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.content:Ljava/util/Collection;
            aload 0 /* this */
            aload 1 /* md */
            invokevirtual jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.getUncompressed:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         1: .line 414
            return
        end local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry md
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    2     1    md  Ljdk/tools/jlink/plugin/ResourcePoolEntry;

  private java.lang.String lambda$3(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
        start local 1 // int offset
         0: .line 465
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager.pool:Ljdk/tools/jlink/plugin/ResourcePool;
            checkcast jdk.tools.jlink.internal.ResourcePoolManager$ResourcePoolImpl
            invokevirtual jdk.tools.jlink.internal.ResourcePoolManager$ResourcePoolImpl.getStringTable:()Ljdk/tools/jlink/internal/StringTable;
            iload 1 /* offset */
            invokeinterface jdk.tools.jlink.internal.StringTable.getString:(I)Ljava/lang/String;
            areturn
        end local 1 // int offset
        end local 0 // jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/tools/jlink/internal/ImagePluginStack$LastPoolManager;
            0    1     1  offset  I
}
SourceFile: "ImagePluginStack.java"
NestHost: jdk.tools.jlink.internal.ImagePluginStack
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract StringsProvider = jdk.internal.jimage.decompressor.ResourceDecompressor$StringsProvider of jdk.internal.jimage.decompressor.ResourceDecompressor
  private LastPoolManager = jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager of jdk.tools.jlink.internal.ImagePluginStack
  private LastModule = jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager$LastModule of jdk.tools.jlink.internal.ImagePluginStack$LastPoolManager
  public final CompressedModuleData = jdk.tools.jlink.internal.ResourcePoolManager$CompressedModuleData of jdk.tools.jlink.internal.ResourcePoolManager
  public ResourcePoolImpl = jdk.tools.jlink.internal.ResourcePoolManager$ResourcePoolImpl of jdk.tools.jlink.internal.ResourcePoolManager