abstract class jdk.jfr.internal.consumer.AbstractEventStream implements jdk.jfr.consumer.EventStream
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.jfr.internal.consumer.AbstractEventStream
  super_class: java.lang.Object
{
  private static final java.util.concurrent.atomic.AtomicLong counter;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Object terminated;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Runnable flushOperation;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.security.AccessControlContext accessControllerContext;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jfr.internal.consumer.StreamConfiguration configuration;
    descriptor: Ljdk/jfr/internal/consumer/StreamConfiguration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jfr.internal.PlatformRecording recording;
    descriptor: Ljdk/jfr/internal/PlatformRecording;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile java.lang.Thread thread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private volatile boolean closed;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 51
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putstatic jdk.jfr.internal.consumer.AbstractEventStream.counter:Ljava/util/concurrent/atomic/AtomicLong;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.security.AccessControlContext, jdk.jfr.internal.PlatformRecording);
    descriptor: (Ljava/security/AccessControlContext;Ljdk/jfr/internal/PlatformRecording;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.security.AccessControlContext acc
        start local 2 // jdk.jfr.internal.PlatformRecording recording
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
         2: .line 54
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic run(Ljdk/jfr/internal/consumer/AbstractEventStream;)Ljava/lang/Runnable;
              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:
                  ()V
                  jdk/jfr/internal/consumer/AbstractEventStream.lambda$0()V (7)
                  ()V
            putfield jdk.jfr.internal.consumer.AbstractEventStream.flushOperation:Ljava/lang/Runnable;
         3: .line 56
            aload 0 /* this */
            new jdk.jfr.internal.consumer.StreamConfiguration
            dup
            invokespecial jdk.jfr.internal.consumer.StreamConfiguration.<init>:()V
            putfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
         4: .line 65
            aload 0 /* this */
            aload 1 /* acc */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.AccessControlContext
            putfield jdk.jfr.internal.consumer.AbstractEventStream.accessControllerContext:Ljava/security/AccessControlContext;
         5: .line 66
            aload 0 /* this */
            aload 2 /* recording */
            putfield jdk.jfr.internal.consumer.AbstractEventStream.recording:Ljdk/jfr/internal/PlatformRecording;
         6: .line 67
            return
        end local 2 // jdk.jfr.internal.PlatformRecording recording
        end local 1 // java.security.AccessControlContext acc
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    7     1        acc  Ljava/security/AccessControlContext;
            0    7     2  recording  Ljdk/jfr/internal/PlatformRecording;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      acc        
      recording  

  public abstract void start();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void startAsync();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void close();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected final jdk.jfr.internal.consumer.Dispatcher dispatcher();
    descriptor: ()Ljdk/jfr/internal/consumer/Dispatcher;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 79
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.hasChanged:()Z
            ifeq 8
         1: .line 80
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            dup
            astore 1
            monitorenter
         2: .line 81
            aload 0 /* this */
            new jdk.jfr.internal.consumer.Dispatcher
            dup
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            invokespecial jdk.jfr.internal.consumer.Dispatcher.<init>:(Ljdk/jfr/internal/consumer/StreamConfiguration;)V
            putfield jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:Ljdk/jfr/internal/consumer/Dispatcher;
         3: .line 82
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            iconst_0
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setChanged:(Z)V
         4: .line 80
            aload 1
            monitorexit
         5: goto 8
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream jdk.jfr.internal.consumer.StreamConfiguration
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:Ljdk/jfr/internal/consumer/Dispatcher;
            areturn
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

  public final void setOrdered(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // boolean ordered
         0: .line 90
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            iload 1 /* ordered */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setOrdered:(Z)V
         1: .line 91
            return
        end local 1 // boolean ordered
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    2     1  ordered  Z
    MethodParameters:
         Name  Flags
      ordered  

  public final void setReuse(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // boolean reuse
         0: .line 95
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            iload 1 /* reuse */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setReuse:(Z)V
         1: .line 96
            return
        end local 1 // boolean reuse
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    2     1  reuse  Z
    MethodParameters:
       Name  Flags
      reuse  

  public final void setStartTime(java.time.Instant);
    descriptor: (Ljava/time/Instant;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.time.Instant startTime
         0: .line 100
            aload 1 /* startTime */
            invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
            pop
         1: .line 101
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            dup
            astore 2
            monitorenter
         2: .line 102
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            getfield jdk.jfr.internal.consumer.StreamConfiguration.started:Z
            ifeq 4
         3: .line 103
            new java.lang.IllegalStateException
            dup
            ldc "Stream is already started"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 105
      StackMap locals: jdk.jfr.internal.consumer.StreamConfiguration
      StackMap stack:
            aload 1 /* startTime */
            getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
            invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
            ifeq 6
         5: .line 106
            getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
            astore 1 /* startTime */
         6: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* startTime */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setStartTime:(Ljava/time/Instant;)V
         7: .line 101
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 110
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.time.Instant startTime
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0   12     1  startTime  Ljava/time/Instant;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any
    MethodParameters:
           Name  Flags
      startTime  

  public final void setEndTime(java.time.Instant);
    descriptor: (Ljava/time/Instant;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.time.Instant endTime
         0: .line 114
            aload 1 /* endTime */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 115
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            dup
            astore 2
            monitorenter
         2: .line 116
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            getfield jdk.jfr.internal.consumer.StreamConfiguration.started:Z
            ifeq 4
         3: .line 117
            new java.lang.IllegalStateException
            dup
            ldc "Stream is already started"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 119
      StackMap locals: jdk.jfr.internal.consumer.StreamConfiguration
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* endTime */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setEndTime:(Ljava/time/Instant;)V
         5: .line 115
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 121
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.time.Instant endTime
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0   10     1  endTime  Ljava/time/Instant;
      Exception table:
        from    to  target  type
           2     6       7  any
           7     8       7  any
    MethodParameters:
         Name  Flags
      endTime  

  public final void onEvent(java.util.function.Consumer<jdk.jfr.consumer.RecordedEvent>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.util.function.Consumer action
         0: .line 125
            aload 1 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 126
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addEventAction:(Ljava/util/function/Consumer;)V
         2: .line 127
            return
        end local 1 // java.util.function.Consumer action
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    3     1  action  Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;
    Signature: (Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
    MethodParameters:
        Name  Flags
      action  

  public final void onEvent(java.lang.String, java.util.function.Consumer<jdk.jfr.consumer.RecordedEvent>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Consumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.lang.String eventName
        start local 2 // java.util.function.Consumer action
         0: .line 131
            aload 1 /* eventName */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 132
            aload 2 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 133
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* eventName */
            aload 2 /* action */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addEventAction:(Ljava/lang/String;Ljava/util/function/Consumer;)V
         3: .line 134
            return
        end local 2 // java.util.function.Consumer action
        end local 1 // java.lang.String eventName
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    4     1  eventName  Ljava/lang/String;
            0    4     2     action  Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;
    Signature: (Ljava/lang/String;Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
    MethodParameters:
           Name  Flags
      eventName  
      action     

  public final void onFlush(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.lang.Runnable action
         0: .line 138
            aload 1 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 139
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addFlushAction:(Ljava/lang/Runnable;)V
         2: .line 140
            return
        end local 1 // java.lang.Runnable action
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    3     1  action  Ljava/lang/Runnable;
    MethodParameters:
        Name  Flags
      action  

  public final void onClose(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.lang.Runnable action
         0: .line 144
            aload 1 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 145
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addCloseAction:(Ljava/lang/Runnable;)V
         2: .line 146
            return
        end local 1 // java.lang.Runnable action
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    3     1  action  Ljava/lang/Runnable;
    MethodParameters:
        Name  Flags
      action  

  public final void onError(java.util.function.Consumer<java.lang.Throwable>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.util.function.Consumer action
         0: .line 150
            aload 1 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 151
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.addErrorAction:(Ljava/util/function/Consumer;)V
         2: .line 152
            return
        end local 1 // java.util.function.Consumer action
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    3     1  action  Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
    Signature: (Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)V
    MethodParameters:
        Name  Flags
      action  

  public final boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.lang.Object action
         0: .line 156
            aload 1 /* action */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 157
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.remove:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object action
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    2     1  action  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      action  

  public final void awaitTermination();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 162
            aload 0 /* this */
            lconst_0
            invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.awaitTermination:(Ljava/time/Duration;)V
         1: .line 163
            return
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;
    Exceptions:
      throws java.lang.InterruptedException

  public final void awaitTermination(java.time.Duration);
    descriptor: (Ljava/time/Duration;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.time.Duration timeout
         0: .line 167
            aload 1 /* timeout */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 168
            aload 1 /* timeout */
            invokevirtual java.time.Duration.isNegative:()Z
            ifeq 3
         2: .line 169
            new java.lang.IllegalArgumentException
            dup
            ldc "timeout value is negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 172
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* base */
        start local 2 // long base
         4: .line 173
            lconst_0
            lstore 4 /* now */
        start local 4 // long now
         5: .line 177
            aload 1 /* timeout */
            invokevirtual java.time.Duration.getSeconds:()J
            sipush 1000
            invokestatic java.lang.Math.multiplyExact:(JI)J
            lstore 6 /* millis */
        start local 6 // long millis
         6: .line 178
            goto 9
        end local 6 // long millis
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.time.Duration long long
      StackMap stack: java.lang.ArithmeticException
         7: pop
         8: .line 179
            ldc 9223372036854775807
            lstore 6 /* millis */
        start local 6 // long millis
         9: .line 181
      StackMap locals: long
      StackMap stack:
            aload 1 /* timeout */
            invokevirtual java.time.Duration.toNanosPart:()I
            istore 8 /* nanos */
        start local 8 // int nanos
        10: .line 182
            iload 8 /* nanos */
            ifne 29
            lload 6 /* millis */
            lconst_0
            lcmp
            ifne 29
        11: .line 183
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 9
            monitorenter
        12: .line 184
            goto 14
        13: .line 185
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            lconst_0
            invokevirtual java.lang.Object.wait:(J)V
        14: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.isClosed:()Z
            ifeq 13
        15: .line 183
            aload 9
            monitorexit
        16: goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 9
            monitorexit
        18: athrow
        19: .line 190
      StackMap locals:
      StackMap stack:
            lload 6 /* millis */
            lload 4 /* now */
            lsub
            lstore 9 /* delay */
        start local 9 // long delay
        20: .line 191
            lload 9 /* delay */
            lconst_0
            lcmp
            ifgt 22
        21: .line 192
            goto 30
        22: .line 194
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 11
            monitorenter
        23: .line 195
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            lload 9 /* delay */
            iload 8 /* nanos */
            invokevirtual java.lang.Object.wait:(JI)V
        24: .line 194
            aload 11
            monitorexit
        25: goto 28
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.time.Duration long long long int long java.lang.Object
      StackMap stack: java.lang.Throwable
        26: aload 11
            monitorexit
        27: athrow
        28: .line 197
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* base */
            lsub
            lstore 4 /* now */
        end local 9 // long delay
        29: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.isClosed:()Z
            ifeq 19
        30: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int nanos
        end local 6 // long millis
        end local 4 // long now
        end local 2 // long base
        end local 1 // java.time.Duration timeout
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   31     0     this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0   31     1  timeout  Ljava/time/Duration;
            4   31     2     base  J
            5   31     4      now  J
            6    7     6   millis  J
            9   31     6   millis  J
           10   31     8    nanos  I
           20   29     9    delay  J
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.ArithmeticException
          12    16      17  any
          17    18      17  any
          23    25      26  any
          26    27      26  any
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  

  protected abstract void process();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException

  protected final void setClosed(boolean);
    descriptor: (Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // boolean closed
         0: .line 205
            aload 0 /* this */
            iload 1 /* closed */
            putfield jdk.jfr.internal.consumer.AbstractEventStream.closed:Z
         1: .line 206
            return
        end local 1 // boolean closed
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    2     1  closed  Z
    MethodParameters:
        Name  Flags
      closed  

  protected final boolean isClosed();
    descriptor: ()Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 209
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.closed:Z
            ireturn
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;

  public final void startAsync(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // long startNanos
         0: .line 213
            aload 0 /* this */
            lload 1 /* startNanos */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.startInternal:(J)V
         1: .line 214
            aload 0 /* this */
            invokedynamic run(Ljdk/jfr/internal/consumer/AbstractEventStream;)Ljava/lang/Runnable;
              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:
                  ()V
                  jdk/jfr/internal/consumer/AbstractEventStream.lambda$1()V (7)
                  ()V
            astore 3 /* r */
        start local 3 // java.lang.Runnable r
         2: .line 215
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.nextThreadName:()Ljava/lang/String;
            aload 3 /* r */
            invokestatic jdk.jfr.internal.SecuritySupport.createThreadWitNoPermissions:(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
            putfield jdk.jfr.internal.consumer.AbstractEventStream.thread:Ljava/lang/Thread;
         3: .line 216
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.thread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
         4: .line 217
            return
        end local 3 // java.lang.Runnable r
        end local 1 // long startNanos
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    5     1  startNanos  J
            2    5     3           r  Ljava/lang/Runnable;
    MethodParameters:
            Name  Flags
      startNanos  

  public final void start(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // long startNanos
         0: .line 220
            aload 0 /* this */
            lload 1 /* startNanos */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.startInternal:(J)V
         1: .line 221
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield jdk.jfr.internal.consumer.AbstractEventStream.thread:Ljava/lang/Thread;
         2: .line 222
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.accessControllerContext:Ljava/security/AccessControlContext;
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.run:(Ljava/security/AccessControlContext;)V
         3: .line 223
            return
        end local 1 // long startNanos
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    4     1  startNanos  J
    MethodParameters:
            Name  Flags
      startNanos  

  protected final java.lang.Runnable getFlushOperation();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 226
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.flushOperation:Ljava/lang/Runnable;
            areturn
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;

  private void startInternal(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // long startNanos
         0: .line 230
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            dup
            astore 3
            monitorenter
         1: .line 231
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            getfield jdk.jfr.internal.consumer.StreamConfiguration.started:Z
            ifeq 3
         2: .line 232
            new java.lang.IllegalStateException
            dup
            ldc "Event stream can only be started once"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 234
      StackMap locals: jdk.jfr.internal.consumer.StreamConfiguration
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.recording:Ljdk/jfr/internal/PlatformRecording;
            ifnull 5
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            getfield jdk.jfr.internal.consumer.StreamConfiguration.startTime:Ljava/time/Instant;
            ifnonnull 5
         4: .line 235
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            lload 1 /* startNanos */
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setStartNanos:(J)V
         5: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.configuration:Ljdk/jfr/internal/consumer/StreamConfiguration;
            iconst_1
            invokevirtual jdk.jfr.internal.consumer.StreamConfiguration.setStarted:(Z)V
         6: .line 230
            aload 3
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        10: .line 239
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long startNanos
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0   11     1  startNanos  J
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    MethodParameters:
            Name  Flags
      startNanos  

  private void execute();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 243
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.process:()V
         1: .line 244
            goto 39
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 250
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_STREAMING:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            ldc "Execution of stream ended."
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
         4: .line 252
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.close:()V
         5: .line 253
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
         7: .line 254
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         8: .line 255
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
         9: .line 254
            aload 3
            monitorexit
        10: goto 13
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top java.lang.Throwable java.lang.Object
      StackMap stack: java.lang.Throwable
        11: aload 3
            monitorexit
        12: athrow
        13: .line 257
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        14: .line 254
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        15: .line 255
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
        16: .line 254
            aload 3
            monitorexit
        17: goto 56
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top top java.lang.Object
      StackMap stack: java.lang.Throwable
        18: aload 3
            monitorexit
        19: athrow
        20: .line 249
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
      StackMap stack: java.lang.Throwable
            astore 1
        21: .line 250
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_STREAMING:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            ldc "Execution of stream ended."
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        22: .line 252
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.close:()V
        23: .line 253
            goto 32
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable
      StackMap stack: java.lang.Throwable
        24: astore 2
        25: .line 254
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        26: .line 255
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
        27: .line 254
            aload 3
            monitorexit
        28: goto 31
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable java.lang.Throwable java.lang.Object
      StackMap stack: java.lang.Throwable
        29: aload 3
            monitorexit
        30: athrow
        31: .line 257
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        32: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        33: .line 255
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
        34: .line 254
            aload 3
            monitorexit
        35: goto 38
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable top java.lang.Object
      StackMap stack: java.lang.Throwable
        36: aload 3
            monitorexit
        37: athrow
        38: .line 258
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream java.lang.Throwable
      StackMap stack:
            aload 1
            athrow
        39: .line 250
      StackMap locals:
      StackMap stack:
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_STREAMING:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            ldc "Execution of stream ended."
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        40: .line 252
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.close:()V
        41: .line 253
            goto 50
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 2
        43: .line 254
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        44: .line 255
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
        45: .line 254
            aload 3
            monitorexit
        46: goto 49
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top java.lang.Throwable java.lang.Object
      StackMap stack: java.lang.Throwable
        47: aload 3
            monitorexit
        48: athrow
        49: .line 257
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        50: .line 254
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        51: .line 255
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.terminated:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
        52: .line 254
            aload 3
            monitorexit
        53: goto 56
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream top top java.lang.Object
      StackMap stack: java.lang.Throwable
        54: aload 3
            monitorexit
        55: athrow
        56: .line 259
      StackMap locals: jdk.jfr.internal.consumer.AbstractEventStream
      StackMap stack:
            return
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   57     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           4     6       6  any
           8    10      11  any
          11    12      11  any
          15    17      18  any
          18    19      18  any
           0     3      20  any
          22    24      24  any
          26    28      29  any
          29    30      29  any
          33    35      36  any
          36    37      36  any
          40    42      42  any
          44    46      47  any
          47    48      47  any
          51    53      54  any
          54    55      54  any

  private void run(java.security.AccessControlContext);
    descriptor: (Ljava/security/AccessControlContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
        start local 1 // java.security.AccessControlContext accessControlContext
         0: .line 262
            new jdk.jfr.internal.consumer.AbstractEventStream$1
            dup
            aload 0 /* this */
            invokespecial jdk.jfr.internal.consumer.AbstractEventStream$1.<init>:(Ljdk/jfr/internal/consumer/AbstractEventStream;)V
         1: .line 268
            aload 1 /* accessControlContext */
         2: .line 262
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         3: .line 269
            return
        end local 1 // java.security.AccessControlContext accessControlContext
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Ljdk/jfr/internal/consumer/AbstractEventStream;
            0    4     1  accessControlContext  Ljava/security/AccessControlContext;
    MethodParameters:
                      Name  Flags
      accessControlContext  

  private java.lang.String nextThreadName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 272
            getstatic jdk.jfr.internal.consumer.AbstractEventStream.counter:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         1: .line 273
            new java.lang.StringBuilder
            dup
            ldc "JFR Event Stream "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic jdk.jfr.internal.consumer.AbstractEventStream.counter:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;

  private void lambda$0();
    descriptor: ()V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 54
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.dispatcher:()Ljdk/jfr/internal/consumer/Dispatcher;
            invokevirtual jdk.jfr.internal.consumer.Dispatcher.runFlushActions:()V
            return
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;

  private void lambda$1();
    descriptor: ()V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
         0: .line 214
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.AbstractEventStream.accessControllerContext:Ljava/security/AccessControlContext;
            invokevirtual jdk.jfr.internal.consumer.AbstractEventStream.run:(Ljava/security/AccessControlContext;)V
            return
        end local 0 // jdk.jfr.internal.consumer.AbstractEventStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/AbstractEventStream;
}
SourceFile: "AbstractEventStream.java"
NestMembers:
  jdk.jfr.internal.consumer.AbstractEventStream$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.jfr.internal.consumer.AbstractEventStream$1