final class jdk.jfr.internal.consumer.Dispatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.consumer.Dispatcher
  super_class: java.lang.Object
{
  private final java.util.function.Consumer<java.lang.Throwable>[] errorActions;
    descriptor: [Ljava/util/function/Consumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Ljava/util/function/Consumer<Ljava/lang/Throwable;>;

  private final java.util.function.Consumer<jdk.jfr.consumer.MetadataEvent>[] metadataActions;
    descriptor: [Ljava/util/function/Consumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Ljava/util/function/Consumer<Ljdk/jfr/consumer/MetadataEvent;>;

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

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

  private final jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] dispatchers;
    descriptor: [Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jfr.internal.LongMap<jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]> dispatcherLookup;
    descriptor: Ljdk/jfr/internal/LongMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/jfr/internal/LongMap<[Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;>;

  final jdk.jfr.internal.consumer.ChunkParser$ParserConfiguration parserConfiguration;
    descriptor: Ljdk/jfr/internal/consumer/ChunkParser$ParserConfiguration;
    flags: (0x0010) ACC_FINAL

  final java.time.Instant startTime;
    descriptor: Ljava/time/Instant;
    flags: (0x0010) ACC_FINAL

  final java.time.Instant endTime;
    descriptor: Ljava/time/Instant;
    flags: (0x0010) ACC_FINAL

  final long startNanos;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  final long endNanos;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  private jdk.jfr.EventType cacheEventType;
    descriptor: Ljdk/jfr/EventType;
    flags: (0x0002) ACC_PRIVATE

  private jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] cacheDispatchers;
    descriptor: [Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(jdk.jfr.internal.consumer.StreamConfiguration);
    descriptor: (Ljdk/jfr/internal/consumer/StreamConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
        start local 1 // jdk.jfr.internal.consumer.StreamConfiguration c
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            new jdk.jfr.internal.LongMap
            dup
            invokespecial jdk.jfr.internal.LongMap.<init>:()V
            putfield jdk.jfr.internal.consumer.Dispatcher.dispatcherLookup:Ljdk/jfr/internal/LongMap;
         2: .line 83
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.flushActions:Ljava/util/List;
            iconst_0
            anewarray java.lang.Runnable
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Runnable[]
            putfield jdk.jfr.internal.consumer.Dispatcher.flushActions:[Ljava/lang/Runnable;
         3: .line 84
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.closeActions:Ljava/util/List;
            iconst_0
            anewarray java.lang.Runnable
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Runnable[]
            putfield jdk.jfr.internal.consumer.Dispatcher.closeActions:[Ljava/lang/Runnable;
         4: .line 85
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.errorActions:Ljava/util/List;
            iconst_0
            anewarray java.util.function.Consumer
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.util.function.Consumer[]
            putfield jdk.jfr.internal.consumer.Dispatcher.errorActions:[Ljava/util/function/Consumer;
         5: .line 86
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.metadataActions:Ljava/util/List;
            iconst_0
            anewarray java.util.function.Consumer
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.util.function.Consumer[]
            putfield jdk.jfr.internal.consumer.Dispatcher.metadataActions:[Ljava/util/function/Consumer;
         6: .line 87
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.eventActions:Ljava/util/List;
            iconst_0
            anewarray jdk.jfr.internal.consumer.Dispatcher$EventDispatcher
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
            putfield jdk.jfr.internal.consumer.Dispatcher.dispatchers:[Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
         7: .line 88
            aload 0 /* this */
            new jdk.jfr.internal.consumer.ChunkParser$ParserConfiguration
            dup
            lconst_0
            ldc 9223372036854775807
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.reuse:Z
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.ordered:Z
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.dispatchers:[Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
            invokestatic jdk.jfr.internal.consumer.Dispatcher.buildFilter:([Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;)Ljdk/jfr/internal/consumer/ParserFilter;
            invokespecial jdk.jfr.internal.consumer.ChunkParser$ParserConfiguration.<init>:(JJZZLjdk/jfr/internal/consumer/ParserFilter;)V
            putfield jdk.jfr.internal.consumer.Dispatcher.parserConfiguration:Ljdk/jfr/internal/consumer/ChunkParser$ParserConfiguration;
         8: .line 89
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.startTime:Ljava/time/Instant;
            putfield jdk.jfr.internal.consumer.Dispatcher.startTime:Ljava/time/Instant;
         9: .line 90
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.endTime:Ljava/time/Instant;
            putfield jdk.jfr.internal.consumer.Dispatcher.endTime:Ljava/time/Instant;
        10: .line 91
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.startNanos:J
            putfield jdk.jfr.internal.consumer.Dispatcher.startNanos:J
        11: .line 92
            aload 0 /* this */
            aload 1 /* c */
            getfield jdk.jfr.internal.consumer.StreamConfiguration.endNanos:J
            putfield jdk.jfr.internal.consumer.Dispatcher.endNanos:J
        12: .line 93
            iconst_1
            anewarray jdk.jfr.internal.consumer.Dispatcher$EventDispatcher
            astore 2 /* ed */
        start local 2 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] ed
        13: .line 94
            aload 2 /* ed */
            iconst_0
            new jdk.jfr.internal.consumer.Dispatcher$EventDispatcher
            dup
            aconst_null
            aload 0 /* this */
            invokedynamic accept(Ljdk/jfr/internal/consumer/Dispatcher;)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/jfr/internal/consumer/Dispatcher.lambda$0(Ljdk/jfr/consumer/RecordedEvent;)V (7)
                  (Ljdk/jfr/consumer/RecordedEvent;)V
            invokespecial jdk.jfr.internal.consumer.Dispatcher$EventDispatcher.<init>:(Ljava/lang/String;Ljava/util/function/Consumer;)V
            aastore
        14: .line 97
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.dispatcherLookup:Ljdk/jfr/internal/LongMap;
            lconst_1
            aload 2 /* ed */
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
        15: .line 98
            return
        end local 2 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] ed
        end local 1 // jdk.jfr.internal.consumer.StreamConfiguration c
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljdk/jfr/internal/consumer/Dispatcher;
            0   16     1     c  Ljdk/jfr/internal/consumer/StreamConfiguration;
           13   16     2    ed  [Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
    MethodParameters:
      Name  Flags
      c     

  public void runMetadataActions(jdk.jfr.consumer.MetadataEvent);
    descriptor: (Ljdk/jfr/consumer/MetadataEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
        start local 1 // jdk.jfr.consumer.MetadataEvent event
         0: .line 101
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.metadataActions:[Ljava/util/function/Consumer;
            astore 2 /* metadataActions */
        start local 2 // java.util.function.Consumer[] metadataActions
         1: .line 102
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 104
      StackMap locals: java.util.function.Consumer[] int
      StackMap stack:
            aload 2 /* metadataActions */
            iload 3 /* i */
            aaload
            aload 1 /* event */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         4: .line 105
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: astore 4 /* e */
        start local 4 // java.lang.Exception e
         6: .line 106
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher.handleError:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e
         7: .line 102
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* metadataActions */
            arraylength
            if_icmplt 3
        end local 3 // int i
         9: .line 109
            return
        end local 2 // java.util.function.Consumer[] metadataActions
        end local 1 // jdk.jfr.consumer.MetadataEvent event
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Ljdk/jfr/internal/consumer/Dispatcher;
            0   10     1            event  Ljdk/jfr/consumer/MetadataEvent;
            1   10     2  metadataActions  [Ljava/util/function/Consumer;
            2    9     3                i  I
            6    7     4                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      event  

  public void runFlushActions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
         0: .line 112
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.flushActions:[Ljava/lang/Runnable;
            astore 1 /* flushActions */
        start local 1 // java.lang.Runnable[] flushActions
         1: .line 113
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 115
      StackMap locals: java.lang.Runnable[] int
      StackMap stack:
            aload 1 /* flushActions */
            iload 2 /* i */
            aaload
            invokeinterface java.lang.Runnable.run:()V
         4: .line 116
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: astore 3 /* e */
        start local 3 // java.lang.Exception e
         6: .line 117
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher.handleError:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
         7: .line 113
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* flushActions */
            arraylength
            if_icmplt 3
        end local 2 // int i
         9: .line 120
            return
        end local 1 // java.lang.Runnable[] flushActions
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Ljdk/jfr/internal/consumer/Dispatcher;
            1   10     1  flushActions  [Ljava/lang/Runnable;
            2    9     2             i  I
            6    7     3             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception

  public void runCloseActions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
         0: .line 123
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.closeActions:[Ljava/lang/Runnable;
            astore 1 /* closeActions */
        start local 1 // java.lang.Runnable[] closeActions
         1: .line 124
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 126
      StackMap locals: java.lang.Runnable[] int
      StackMap stack:
            aload 1 /* closeActions */
            iload 2 /* i */
            aaload
            invokeinterface java.lang.Runnable.run:()V
         4: .line 127
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: astore 3 /* e */
        start local 3 // java.lang.Exception e
         6: .line 128
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher.handleError:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
         7: .line 124
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* closeActions */
            arraylength
            if_icmplt 3
        end local 2 // int i
         9: .line 131
            return
        end local 1 // java.lang.Runnable[] closeActions
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Ljdk/jfr/internal/consumer/Dispatcher;
            1   10     1  closeActions  [Ljava/lang/Runnable;
            2    9     2             i  I
            6    7     3             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception

  private static jdk.jfr.internal.consumer.ParserFilter buildFilter(jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]);
    descriptor: ([Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;)Ljdk/jfr/internal/consumer/ParserFilter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] dispatchers
         0: .line 134
            new jdk.jfr.internal.consumer.ParserFilter
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFilter.<init>:()V
            astore 1 /* ef */
        start local 1 // jdk.jfr.internal.consumer.ParserFilter ef
         1: .line 135
            aload 0 /* dispatchers */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] jdk.jfr.internal.consumer.ParserFilter top int int jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* ed */
        start local 2 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher ed
         3: .line 136
            aload 2 /* ed */
            getfield jdk.jfr.internal.consumer.Dispatcher$EventDispatcher.eventName:Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         4: .line 137
            aload 6 /* name */
            ifnonnull 6
         5: .line 138
            getstatic jdk.jfr.internal.consumer.ParserFilter.ACCEPT_ALL:Ljdk/jfr/internal/consumer/ParserFilter;
            areturn
         6: .line 140
      StackMap locals: jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] jdk.jfr.internal.consumer.ParserFilter jdk.jfr.internal.consumer.Dispatcher$EventDispatcher int int jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] java.lang.String
      StackMap stack:
            aload 1 /* ef */
            aload 6 /* name */
            lconst_0
            invokevirtual jdk.jfr.internal.consumer.ParserFilter.setThreshold:(Ljava/lang/String;J)V
        end local 6 // java.lang.String name
        end local 2 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher ed
         7: .line 135
            iinc 3 1
      StackMap locals: jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] jdk.jfr.internal.consumer.ParserFilter top int int jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 2
         9: .line 142
            aload 1 /* ef */
            areturn
        end local 1 // jdk.jfr.internal.consumer.ParserFilter ef
        end local 0 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] dispatchers
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0  dispatchers  [Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
            1   10     1           ef  Ljdk/jfr/internal/consumer/ParserFilter;
            3    7     2           ed  Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
            4    7     6         name  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      dispatchers  

  void dispatch(jdk.jfr.consumer.RecordedEvent);
    descriptor: (Ljdk/jfr/consumer/RecordedEvent;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
        start local 1 // jdk.jfr.consumer.RecordedEvent event
         0: .line 146
            aload 1 /* event */
            invokevirtual jdk.jfr.consumer.RecordedEvent.getEventType:()Ljdk/jfr/EventType;
            astore 2 /* type */
        start local 2 // jdk.jfr.EventType type
         1: .line 147
            aconst_null
            astore 3 /* dispatchers */
        start local 3 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] dispatchers
         2: .line 148
            aload 2 /* type */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.cacheEventType:Ljdk/jfr/EventType;
            if_acmpne 5
         3: .line 149
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.cacheDispatchers:[Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
            astore 3 /* dispatchers */
         4: .line 150
            goto 19
         5: .line 151
      StackMap locals: jdk.jfr.EventType jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.dispatcherLookup:Ljdk/jfr/internal/LongMap;
            aload 2 /* type */
            invokevirtual jdk.jfr.EventType.getId:()J
            invokevirtual jdk.jfr.internal.LongMap.get:(J)Ljava/lang/Object;
            checkcast jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
            astore 3 /* dispatchers */
         6: .line 152
            aload 3 /* dispatchers */
            ifnonnull 18
         7: .line 153
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
        start local 4 // java.util.List list
         8: .line 154
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.dispatchers:[Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 13
      StackMap locals: jdk.jfr.internal.consumer.Dispatcher jdk.jfr.consumer.RecordedEvent jdk.jfr.EventType jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] java.util.List top int int jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
      StackMap stack:
         9: aload 8
            iload 6
            aaload
            astore 5 /* e */
        start local 5 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher e
        10: .line 155
            aload 5 /* e */
            aload 2 /* type */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher$EventDispatcher.accepts:(Ljdk/jfr/EventType;)Z
            ifeq 12
        11: .line 156
            aload 4 /* list */
            aload 5 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher e
        12: .line 154
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        13: iload 6
            iload 7
            if_icmplt 9
        14: .line 159
            aload 4 /* list */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 15
            getstatic jdk.jfr.internal.consumer.Dispatcher$EventDispatcher.NO_DISPATCHERS:[Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
            goto 16
      StackMap locals: jdk.jfr.internal.consumer.Dispatcher jdk.jfr.consumer.RecordedEvent jdk.jfr.EventType jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] java.util.List
      StackMap stack:
        15: aload 4 /* list */
            iconst_0
            anewarray jdk.jfr.internal.consumer.Dispatcher$EventDispatcher
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
      StackMap locals:
      StackMap stack: jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[]
        16: astore 3 /* dispatchers */
        17: .line 160
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.dispatcherLookup:Ljdk/jfr/internal/LongMap;
            aload 2 /* type */
            invokevirtual jdk.jfr.EventType.getId:()J
            aload 3 /* dispatchers */
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
        end local 4 // java.util.List list
        18: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* dispatchers */
            putfield jdk.jfr.internal.consumer.Dispatcher.cacheDispatchers:[Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
        19: .line 182
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        20: goto 26
        21: .line 184
      StackMap locals: int
      StackMap stack:
            aload 3 /* dispatchers */
            iload 4 /* i */
            aaload
            aload 1 /* event */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher$EventDispatcher.offer:(Ljdk/jfr/consumer/RecordedEvent;)V
        22: .line 185
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Exception
        23: astore 5 /* e */
        start local 5 // java.lang.Exception e
        24: .line 186
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher.handleError:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        25: .line 182
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 4 /* i */
            aload 3 /* dispatchers */
            arraylength
            if_icmplt 21
        end local 4 // int i
        27: .line 189
            return
        end local 3 // jdk.jfr.internal.consumer.Dispatcher$EventDispatcher[] dispatchers
        end local 2 // jdk.jfr.EventType type
        end local 1 // jdk.jfr.consumer.RecordedEvent event
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         this  Ljdk/jfr/internal/consumer/Dispatcher;
            0   28     1        event  Ljdk/jfr/consumer/RecordedEvent;
            1   28     2         type  Ljdk/jfr/EventType;
            2   28     3  dispatchers  [Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
            8   18     4         list  Ljava/util/List<Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;>;
           10   12     5            e  Ljdk/jfr/internal/consumer/Dispatcher$EventDispatcher;
           20   27     4            i  I
           24   25     5            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          21    22      23  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      event  

  private void handleError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
        start local 1 // java.lang.Throwable e
         0: .line 192
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.errorActions:[Ljava/util/function/Consumer;
            astore 2 /* consumers */
        start local 2 // java.util.function.Consumer[] consumers
         1: .line 193
            aload 2 /* consumers */
            arraylength
            ifne 4
         2: .line 194
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher.defaultErrorHandler:(Ljava/lang/Throwable;)V
         3: .line 195
            return
         4: .line 197
      StackMap locals: java.util.function.Consumer[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 199
      StackMap locals: int
      StackMap stack:
            aload 2 /* consumers */
            iload 3 /* i */
            aaload
            astore 4 /* consumer */
        start local 4 // java.util.function.Consumer consumer
         7: .line 200
            aload 4 /* consumer */
            aload 1 /* e */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        end local 4 // java.util.function.Consumer consumer
         8: .line 197
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 2 /* consumers */
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 202
            return
        end local 2 // java.util.function.Consumer[] consumers
        end local 1 // java.lang.Throwable e
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Ljdk/jfr/internal/consumer/Dispatcher;
            0   11     1          e  Ljava/lang/Throwable;
            1   11     2  consumers  [Ljava/util/function/Consumer;
            5   10     3          i  I
            7    8     4   consumer  Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
    MethodParameters:
      Name  Flags
      e     

  private void defaultErrorHandler(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
        start local 1 // java.lang.Throwable e
         0: .line 205
            aload 1 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
         1: .line 206
            return
        end local 1 // java.lang.Throwable e
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/consumer/Dispatcher;
            0    2     1     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  public boolean hasMetadataHandler();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
         0: .line 209
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.Dispatcher.metadataActions:[Ljava/util/function/Consumer;
            arraylength
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/consumer/Dispatcher;

  private void lambda$0(jdk.jfr.consumer.RecordedEvent);
    descriptor: (Ljdk/jfr/consumer/RecordedEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.Dispatcher this
        start local 1 // jdk.jfr.consumer.RecordedEvent e
         0: .line 95
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.Dispatcher.runFlushActions:()V
         1: .line 96
            return
        end local 1 // jdk.jfr.consumer.RecordedEvent e
        end local 0 // jdk.jfr.internal.consumer.Dispatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/consumer/Dispatcher;
            0    2     1     e  Ljdk/jfr/consumer/RecordedEvent;
}
SourceFile: "Dispatcher.java"
NestMembers:
  jdk.jfr.internal.consumer.Dispatcher$EventDispatcher
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final ParserConfiguration = jdk.jfr.internal.consumer.ChunkParser$ParserConfiguration of jdk.jfr.internal.consumer.ChunkParser
  final EventDispatcher = jdk.jfr.internal.consumer.Dispatcher$EventDispatcher of jdk.jfr.internal.consumer.Dispatcher