public final class jdk.jfr.consumer.RecordingFile implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.consumer.RecordingFile
  super_class: java.lang.Object
{
  private boolean isLastEventInChunk;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.io.File file;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private jdk.jfr.internal.consumer.RecordingInput input;
    descriptor: Ljdk/jfr/internal/consumer/RecordingInput;
    flags: (0x0002) ACC_PRIVATE

  private jdk.jfr.consumer.ChunkParser chunkParser;
    descriptor: Ljdk/jfr/consumer/ChunkParser;
    flags: (0x0002) ACC_PRIVATE

  private jdk.jfr.consumer.RecordedEvent nextEvent;
    descriptor: Ljdk/jfr/consumer/RecordedEvent;
    flags: (0x0002) ACC_PRIVATE

  private boolean eof;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 66
            new jdk.jfr.consumer.RecordingFile$1
            dup
            invokespecial jdk.jfr.consumer.RecordingFile$1.<init>:()V
            putstatic jdk.jfr.internal.consumer.RecordingInternals.INSTANCE:Ljdk/jfr/internal/consumer/RecordingInternals;
         1: .line 85
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingFile this
        start local 1 // java.nio.file.Path file
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 106
            aload 0 /* this */
            aload 1 /* file */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            putfield jdk.jfr.consumer.RecordingFile.file:Ljava/io/File;
         2: .line 107
            aload 0 /* this */
            new jdk.jfr.internal.consumer.RecordingInput
            dup
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.file:Ljava/io/File;
            invokespecial jdk.jfr.internal.consumer.RecordingInput.<init>:(Ljava/io/File;)V
            putfield jdk.jfr.consumer.RecordingFile.input:Ljdk/jfr/internal/consumer/RecordingInput;
         3: .line 108
            aload 0 /* this */
            invokevirtual jdk.jfr.consumer.RecordingFile.findNext:()V
         4: .line 109
            return
        end local 1 // java.nio.file.Path file
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/jfr/consumer/RecordingFile;
            0    5     1  file  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public jdk.jfr.consumer.RecordedEvent readEvent();
    descriptor: ()Ljdk/jfr/consumer/RecordedEvent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingFile this
         0: .line 122
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.eof:Z
            ifeq 3
         1: .line 123
            aload 0 /* this */
            invokevirtual jdk.jfr.consumer.RecordingFile.ensureOpen:()V
         2: .line 124
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         3: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield jdk.jfr.consumer.RecordingFile.isLastEventInChunk:Z
         4: .line 127
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.nextEvent:Ljdk/jfr/consumer/RecordedEvent;
            astore 1 /* event */
        start local 1 // jdk.jfr.consumer.RecordedEvent event
         5: .line 128
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
            invokevirtual jdk.jfr.consumer.ChunkParser.readEvent:()Ljdk/jfr/consumer/RecordedEvent;
            putfield jdk.jfr.consumer.RecordingFile.nextEvent:Ljdk/jfr/consumer/RecordedEvent;
         6: .line 129
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.nextEvent:Ljdk/jfr/consumer/RecordedEvent;
            ifnonnull 9
         7: .line 130
            aload 0 /* this */
            iconst_1
            putfield jdk.jfr.consumer.RecordingFile.isLastEventInChunk:Z
         8: .line 131
            aload 0 /* this */
            invokevirtual jdk.jfr.consumer.RecordingFile.findNext:()V
         9: .line 133
      StackMap locals: jdk.jfr.consumer.RecordedEvent
      StackMap stack:
            aload 1 /* event */
            areturn
        end local 1 // jdk.jfr.consumer.RecordedEvent event
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljdk/jfr/consumer/RecordingFile;
            5   10     1  event  Ljdk/jfr/consumer/RecordedEvent;
    Exceptions:
      throws java.io.IOException

  public boolean hasMoreEvents();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingFile this
         0: .line 144
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.eof:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/consumer/RecordingFile;

  public java.util.List<jdk.jfr.EventType> readEventTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingFile this
         0: .line 156
            aload 0 /* this */
            invokevirtual jdk.jfr.consumer.RecordingFile.ensureOpen:()V
         1: .line 157
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* types */
        start local 1 // java.util.List types
         2: .line 158
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* foundIds */
        start local 2 // java.util.HashSet foundIds
         3: .line 159
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: new jdk.jfr.internal.consumer.RecordingInput
            dup
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.file:Ljava/io/File;
            invokespecial jdk.jfr.internal.consumer.RecordingInput.<init>:(Ljava/io/File;)V
            astore 5 /* ri */
        start local 5 // jdk.jfr.internal.consumer.RecordingInput ri
         5: .line 160
            new jdk.jfr.internal.consumer.ChunkHeader
            dup
            aload 5 /* ri */
            invokespecial jdk.jfr.internal.consumer.ChunkHeader.<init>:(Ljdk/jfr/internal/consumer/RecordingInput;)V
            astore 6 /* ch */
        start local 6 // jdk.jfr.internal.consumer.ChunkHeader ch
         6: .line 161
            aload 6 /* ch */
            aload 1 /* types */
            aload 2 /* foundIds */
            invokestatic jdk.jfr.consumer.RecordingFile.aggregateEventTypeForChunk:(Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List;Ljava/util/HashSet;)V
         7: .line 162
            goto 10
         8: .line 163
      StackMap locals: jdk.jfr.consumer.RecordingFile java.util.List java.util.HashSet java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader
      StackMap stack:
            aload 6 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.nextHeader:()Ljdk/jfr/internal/consumer/ChunkHeader;
            astore 6 /* ch */
         9: .line 164
            aload 6 /* ch */
            aload 1 /* types */
            aload 2 /* foundIds */
            invokestatic jdk.jfr.consumer.RecordingFile.aggregateEventTypeForChunk:(Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List;Ljava/util/HashSet;)V
        10: .line 162
      StackMap locals:
      StackMap stack:
            aload 6 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.isLastChunk:()Z
            ifeq 8
        end local 6 // jdk.jfr.internal.consumer.ChunkHeader ch
        11: .line 166
            aload 5 /* ri */
            ifnull 17
            aload 5 /* ri */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.close:()V
            goto 17
      StackMap locals: jdk.jfr.consumer.RecordingFile java.util.List java.util.HashSet java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 5 /* ri */
            ifnull 13
            aload 5 /* ri */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.close:()V
        end local 5 // jdk.jfr.internal.consumer.RecordingInput ri
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 3
            ifnonnull 15
            aload 4
            astore 3
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3
            aload 4
            if_acmpeq 16
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
        17: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            areturn
        end local 2 // java.util.HashSet foundIds
        end local 1 // java.util.List types
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Ljdk/jfr/consumer/RecordingFile;
            2   18     1     types  Ljava/util/List<Ljdk/jfr/EventType;>;
            3   18     2  foundIds  Ljava/util/HashSet<Ljava/lang/Long;>;
            5   13     5        ri  Ljdk/jfr/internal/consumer/RecordingInput;
            6   11     6        ch  Ljdk/jfr/internal/consumer/ChunkHeader;
      Exception table:
        from    to  target  type
           5    11      12  any
           4    14      14  any
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/List<Ljdk/jfr/EventType;>;

  java.util.List<jdk.jfr.internal.Type> readTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingFile this
         0: .line 171
            aload 0 /* this */
            invokevirtual jdk.jfr.consumer.RecordingFile.ensureOpen:()V
         1: .line 172
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* types */
        start local 1 // java.util.List types
         2: .line 173
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* foundIds */
        start local 2 // java.util.HashSet foundIds
         3: .line 174
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: new jdk.jfr.internal.consumer.RecordingInput
            dup
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.file:Ljava/io/File;
            invokespecial jdk.jfr.internal.consumer.RecordingInput.<init>:(Ljava/io/File;)V
            astore 5 /* ri */
        start local 5 // jdk.jfr.internal.consumer.RecordingInput ri
         5: .line 175
            new jdk.jfr.internal.consumer.ChunkHeader
            dup
            aload 5 /* ri */
            invokespecial jdk.jfr.internal.consumer.ChunkHeader.<init>:(Ljdk/jfr/internal/consumer/RecordingInput;)V
            astore 6 /* ch */
        start local 6 // jdk.jfr.internal.consumer.ChunkHeader ch
         6: .line 176
            aload 0 /* this */
            aload 6 /* ch */
            aload 1 /* types */
            aload 2 /* foundIds */
            invokevirtual jdk.jfr.consumer.RecordingFile.aggregateTypeForChunk:(Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List;Ljava/util/HashSet;)V
         7: .line 177
            goto 10
         8: .line 178
      StackMap locals: jdk.jfr.consumer.RecordingFile java.util.List java.util.HashSet java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader
      StackMap stack:
            aload 6 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.nextHeader:()Ljdk/jfr/internal/consumer/ChunkHeader;
            astore 6 /* ch */
         9: .line 179
            aload 0 /* this */
            aload 6 /* ch */
            aload 1 /* types */
            aload 2 /* foundIds */
            invokevirtual jdk.jfr.consumer.RecordingFile.aggregateTypeForChunk:(Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List;Ljava/util/HashSet;)V
        10: .line 177
      StackMap locals:
      StackMap stack:
            aload 6 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.isLastChunk:()Z
            ifeq 8
        end local 6 // jdk.jfr.internal.consumer.ChunkHeader ch
        11: .line 181
            aload 5 /* ri */
            ifnull 17
            aload 5 /* ri */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.close:()V
            goto 17
      StackMap locals: jdk.jfr.consumer.RecordingFile java.util.List java.util.HashSet java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 5 /* ri */
            ifnull 13
            aload 5 /* ri */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.close:()V
        end local 5 // jdk.jfr.internal.consumer.RecordingInput ri
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 3
            ifnonnull 15
            aload 4
            astore 3
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3
            aload 4
            if_acmpeq 16
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
        17: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            areturn
        end local 2 // java.util.HashSet foundIds
        end local 1 // java.util.List types
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Ljdk/jfr/consumer/RecordingFile;
            2   18     1     types  Ljava/util/List<Ljdk/jfr/internal/Type;>;
            3   18     2  foundIds  Ljava/util/HashSet<Ljava/lang/Long;>;
            5   13     5        ri  Ljdk/jfr/internal/consumer/RecordingInput;
            6   11     6        ch  Ljdk/jfr/internal/consumer/ChunkHeader;
      Exception table:
        from    to  target  type
           5    11      12  any
           4    14      14  any
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/List<Ljdk/jfr/internal/Type;>;

  private void aggregateTypeForChunk(jdk.jfr.internal.consumer.ChunkHeader, java.util.List<jdk.jfr.internal.Type>, java.util.HashSet<java.lang.Long>);
    descriptor: (Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List;Ljava/util/HashSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // jdk.jfr.consumer.RecordingFile this
        start local 1 // jdk.jfr.internal.consumer.ChunkHeader ch
        start local 2 // java.util.List types
        start local 3 // java.util.HashSet foundIds
         0: .line 186
            aload 1 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.readMetadata:()Ljdk/jfr/internal/MetadataDescriptor;
            astore 4 /* m */
        start local 4 // jdk.jfr.internal.MetadataDescriptor m
         1: .line 187
            aload 4 /* m */
            invokevirtual jdk.jfr.internal.MetadataDescriptor.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: jdk.jfr.consumer.RecordingFile jdk.jfr.internal.consumer.ChunkHeader java.util.List java.util.HashSet jdk.jfr.internal.MetadataDescriptor top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.Type
            astore 5 /* t */
        start local 5 // jdk.jfr.internal.Type t
         3: .line 188
            aload 3 /* foundIds */
            aload 5 /* t */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 189
            aload 2 /* types */
            aload 5 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 190
            aload 3 /* foundIds */
            aload 5 /* t */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // jdk.jfr.internal.Type t
         6: .line 187
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 193
            return
        end local 4 // jdk.jfr.internal.MetadataDescriptor m
        end local 3 // java.util.HashSet foundIds
        end local 2 // java.util.List types
        end local 1 // jdk.jfr.internal.consumer.ChunkHeader ch
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljdk/jfr/consumer/RecordingFile;
            0    8     1        ch  Ljdk/jfr/internal/consumer/ChunkHeader;
            0    8     2     types  Ljava/util/List<Ljdk/jfr/internal/Type;>;
            0    8     3  foundIds  Ljava/util/HashSet<Ljava/lang/Long;>;
            1    8     4         m  Ljdk/jfr/internal/MetadataDescriptor;
            3    6     5         t  Ljdk/jfr/internal/Type;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List<Ljdk/jfr/internal/Type;>;Ljava/util/HashSet<Ljava/lang/Long;>;)V
    MethodParameters:
          Name  Flags
      ch        
      types     
      foundIds  

  private static void aggregateEventTypeForChunk(jdk.jfr.internal.consumer.ChunkHeader, java.util.List<jdk.jfr.EventType>, java.util.HashSet<java.lang.Long>);
    descriptor: (Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List;Ljava/util/HashSet;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader ch
        start local 1 // java.util.List types
        start local 2 // java.util.HashSet foundIds
         0: .line 196
            aload 0 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.readMetadata:()Ljdk/jfr/internal/MetadataDescriptor;
            astore 3 /* m */
        start local 3 // jdk.jfr.internal.MetadataDescriptor m
         1: .line 197
            aload 3 /* m */
            invokevirtual jdk.jfr.internal.MetadataDescriptor.getEventTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: jdk.jfr.internal.consumer.ChunkHeader java.util.List java.util.HashSet jdk.jfr.internal.MetadataDescriptor top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.EventType
            astore 4 /* t */
        start local 4 // jdk.jfr.EventType t
         3: .line 198
            aload 2 /* foundIds */
            aload 4 /* t */
            invokevirtual jdk.jfr.EventType.getId:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 199
            aload 1 /* types */
            aload 4 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 200
            aload 2 /* foundIds */
            aload 4 /* t */
            invokevirtual jdk.jfr.EventType.getId:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // jdk.jfr.EventType t
         6: .line 197
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 203
            return
        end local 3 // jdk.jfr.internal.MetadataDescriptor m
        end local 2 // java.util.HashSet foundIds
        end local 1 // java.util.List types
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader ch
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0        ch  Ljdk/jfr/internal/consumer/ChunkHeader;
            0    8     1     types  Ljava/util/List<Ljdk/jfr/EventType;>;
            0    8     2  foundIds  Ljava/util/HashSet<Ljava/lang/Long;>;
            1    8     3         m  Ljdk/jfr/internal/MetadataDescriptor;
            3    6     4         t  Ljdk/jfr/EventType;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljdk/jfr/internal/consumer/ChunkHeader;Ljava/util/List<Ljdk/jfr/EventType;>;Ljava/util/HashSet<Ljava/lang/Long;>;)V
    MethodParameters:
          Name  Flags
      ch        
      types     
      foundIds  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingFile this
         0: .line 212
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.input:Ljdk/jfr/internal/consumer/RecordingInput;
            ifnull 6
         1: .line 213
            aload 0 /* this */
            iconst_1
            putfield jdk.jfr.consumer.RecordingFile.eof:Z
         2: .line 214
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.close:()V
         3: .line 215
            aload 0 /* this */
            aconst_null
            putfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
         4: .line 216
            aload 0 /* this */
            aconst_null
            putfield jdk.jfr.consumer.RecordingFile.input:Ljdk/jfr/internal/consumer/RecordingInput;
         5: .line 217
            aload 0 /* this */
            aconst_null
            putfield jdk.jfr.consumer.RecordingFile.nextEvent:Ljdk/jfr/consumer/RecordedEvent;
         6: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jfr/consumer/RecordingFile;
    Exceptions:
      throws java.io.IOException

  public static java.util.List<jdk.jfr.consumer.RecordedEvent> readAllEvents(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 240
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new jdk.jfr.consumer.RecordingFile
            dup
            aload 0 /* path */
            invokespecial jdk.jfr.consumer.RecordingFile.<init>:(Ljava/nio/file/Path;)V
            astore 3 /* r */
        start local 3 // jdk.jfr.consumer.RecordingFile r
         2: .line 241
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
        start local 4 // java.util.List list
         3: .line 242
            goto 5
         4: .line 243
      StackMap locals: java.nio.file.Path java.lang.Throwable java.lang.Throwable jdk.jfr.consumer.RecordingFile java.util.List
      StackMap stack:
            aload 4 /* list */
            aload 3 /* r */
            invokevirtual jdk.jfr.consumer.RecordingFile.readEvent:()Ljdk/jfr/consumer/RecordedEvent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 242
      StackMap locals:
      StackMap stack:
            aload 3 /* r */
            invokevirtual jdk.jfr.consumer.RecordingFile.hasMoreEvents:()Z
            ifne 4
         6: .line 245
            aload 4 /* list */
         7: .line 246
            aload 3 /* r */
            ifnull 8
            aload 3 /* r */
            invokevirtual jdk.jfr.consumer.RecordingFile.close:()V
         8: .line 245
      StackMap locals:
      StackMap stack: java.util.List
            areturn
        end local 4 // java.util.List list
      StackMap locals: java.nio.file.Path java.lang.Throwable java.lang.Throwable jdk.jfr.consumer.RecordingFile
      StackMap stack: java.lang.Throwable
         9: astore 1
        10: .line 246
            aload 3 /* r */
            ifnull 11
            aload 3 /* r */
            invokevirtual jdk.jfr.consumer.RecordingFile.close:()V
        end local 3 // jdk.jfr.consumer.RecordingFile r
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 1
            ifnonnull 13
            aload 2
            astore 1
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 1
            aload 2
            if_acmpeq 14
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 1
            athrow
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  path  Ljava/nio/file/Path;
            2   11     3     r  Ljdk/jfr/consumer/RecordingFile;
            3    9     4  list  Ljava/util/List<Ljdk/jfr/consumer/RecordedEvent;>;
      Exception table:
        from    to  target  type
           2     7       9  any
           1     8      12  any
           9    12      12  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;)Ljava/util/List<Ljdk/jfr/consumer/RecordedEvent;>;
    MethodParameters:
      Name  Flags
      path  

  private void findNext();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingFile this
         0: .line 251
            goto 10
         1: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
            ifnonnull 4
         2: .line 253
            aload 0 /* this */
            new jdk.jfr.consumer.ChunkParser
            dup
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokespecial jdk.jfr.consumer.ChunkParser.<init>:(Ljdk/jfr/internal/consumer/RecordingInput;)V
            putfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
         3: .line 254
            goto 9
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
            invokevirtual jdk.jfr.consumer.ChunkParser.isLastChunk:()Z
            ifne 7
         5: .line 255
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
            invokevirtual jdk.jfr.consumer.ChunkParser.nextChunkParser:()Ljdk/jfr/consumer/ChunkParser;
            putfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
         6: .line 256
            goto 9
         7: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.jfr.consumer.RecordingFile.eof:Z
         8: .line 258
            return
         9: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.chunkParser:Ljdk/jfr/consumer/ChunkParser;
            invokevirtual jdk.jfr.consumer.ChunkParser.readEvent:()Ljdk/jfr/consumer/RecordedEvent;
            putfield jdk.jfr.consumer.RecordingFile.nextEvent:Ljdk/jfr/consumer/RecordedEvent;
        10: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.nextEvent:Ljdk/jfr/consumer/RecordedEvent;
            ifnull 1
        11: .line 262
            return
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/jfr/consumer/RecordingFile;
    Exceptions:
      throws java.io.IOException

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingFile this
         0: .line 265
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingFile.input:Ljdk/jfr/internal/consumer/RecordingInput;
            ifnonnull 2
         1: .line 266
            new java.io.IOException
            dup
            ldc "Stream Closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 268
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jfr.consumer.RecordingFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/consumer/RecordingFile;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "RecordingFile.java"
NestMembers:
  jdk.jfr.consumer.RecordingFile$1
InnerClasses:
  jdk.jfr.consumer.RecordingFile$1