public final class com.lmax.disruptor.AggregateEventHandler<T> implements com.lmax.disruptor.EventHandler<T>, com.lmax.disruptor.LifecycleAware
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.lmax.disruptor.AggregateEventHandler
  super_class: java.lang.Object
{
  private final com.lmax.disruptor.EventHandler<T>[] eventHandlers;
    descriptor: [Lcom/lmax/disruptor/EventHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Lcom/lmax/disruptor/EventHandler<TT;>;

  public void <init>(com.lmax.disruptor.EventHandler<T>[]);
    descriptor: ([Lcom/lmax/disruptor/EventHandler;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.lmax.disruptor.AggregateEventHandler this
        start local 1 // com.lmax.disruptor.EventHandler[] eventHandlers
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 36
            aload 0 /* this */
            aload 1 /* eventHandlers */
            putfield com.lmax.disruptor.AggregateEventHandler.eventHandlers:[Lcom/lmax/disruptor/EventHandler;
         2: .line 37
            return
        end local 1 // com.lmax.disruptor.EventHandler[] eventHandlers
        end local 0 // com.lmax.disruptor.AggregateEventHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/lmax/disruptor/AggregateEventHandler<TT;>;
            0    3     1  eventHandlers  [Lcom/lmax/disruptor/EventHandler;
    Signature: ([Lcom/lmax/disruptor/EventHandler<TT;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
               Name  Flags
      eventHandlers  final

  public void onEvent(T, long, );
    descriptor: (Ljava/lang/Object;JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // com.lmax.disruptor.AggregateEventHandler this
        start local 1 // java.lang.Object event
        start local 2 // long sequence
        start local 4 // boolean endOfBatch
         0: .line 43
            aload 0 /* this */
            getfield com.lmax.disruptor.AggregateEventHandler.eventHandlers:[Lcom/lmax/disruptor/EventHandler;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 4
      StackMap locals: com.lmax.disruptor.AggregateEventHandler java.lang.Object long int top int int com.lmax.disruptor.EventHandler[]
      StackMap stack:
         1: aload 8
            iload 6
            aaload
            astore 5 /* eventHandler */
        start local 5 // com.lmax.disruptor.EventHandler eventHandler
         2: .line 45
            aload 5 /* eventHandler */
            aload 1 /* event */
            lload 2 /* sequence */
            iload 4 /* endOfBatch */
            invokeinterface com.lmax.disruptor.EventHandler.onEvent:(Ljava/lang/Object;JZ)V
        end local 5 // com.lmax.disruptor.EventHandler eventHandler
         3: .line 43
            iinc 6 1
      StackMap locals:
      StackMap stack:
         4: iload 6
            iload 7
            if_icmplt 1
         5: .line 47
            return
        end local 4 // boolean endOfBatch
        end local 2 // long sequence
        end local 1 // java.lang.Object event
        end local 0 // com.lmax.disruptor.AggregateEventHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/lmax/disruptor/AggregateEventHandler<TT;>;
            0    6     1         event  TT;
            0    6     2      sequence  J
            0    6     4    endOfBatch  Z
            2    3     5  eventHandler  Lcom/lmax/disruptor/EventHandler<TT;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (TT;JZ)V
    MethodParameters:
            Name  Flags
      event       final
      sequence    final
      endOfBatch  final

  public void onStart();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.lmax.disruptor.AggregateEventHandler this
         0: .line 52
            aload 0 /* this */
            getfield com.lmax.disruptor.AggregateEventHandler.eventHandlers:[Lcom/lmax/disruptor/EventHandler;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: com.lmax.disruptor.AggregateEventHandler top int int com.lmax.disruptor.EventHandler[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* eventHandler */
        start local 1 // com.lmax.disruptor.EventHandler eventHandler
         2: .line 54
            aload 1 /* eventHandler */
            instanceof com.lmax.disruptor.LifecycleAware
            ifeq 4
         3: .line 56
            aload 1 /* eventHandler */
            checkcast com.lmax.disruptor.LifecycleAware
            invokeinterface com.lmax.disruptor.LifecycleAware.onStart:()V
        end local 1 // com.lmax.disruptor.EventHandler eventHandler
         4: .line 52
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 59
            return
        end local 0 // com.lmax.disruptor.AggregateEventHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/lmax/disruptor/AggregateEventHandler<TT;>;
            2    4     1  eventHandler  Lcom/lmax/disruptor/EventHandler<TT;>;

  public void onShutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.lmax.disruptor.AggregateEventHandler this
         0: .line 64
            aload 0 /* this */
            getfield com.lmax.disruptor.AggregateEventHandler.eventHandlers:[Lcom/lmax/disruptor/EventHandler;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: com.lmax.disruptor.AggregateEventHandler top int int com.lmax.disruptor.EventHandler[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* eventHandler */
        start local 1 // com.lmax.disruptor.EventHandler eventHandler
         2: .line 66
            aload 1 /* eventHandler */
            instanceof com.lmax.disruptor.LifecycleAware
            ifeq 4
         3: .line 68
            aload 1 /* eventHandler */
            checkcast com.lmax.disruptor.LifecycleAware
            invokeinterface com.lmax.disruptor.LifecycleAware.onShutdown:()V
        end local 1 // com.lmax.disruptor.EventHandler eventHandler
         4: .line 64
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 71
            return
        end local 0 // com.lmax.disruptor.AggregateEventHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/lmax/disruptor/AggregateEventHandler<TT;>;
            2    4     1  eventHandler  Lcom/lmax/disruptor/EventHandler<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lcom/lmax/disruptor/EventHandler<TT;>;Lcom/lmax/disruptor/LifecycleAware;
SourceFile: "AggregateEventHandler.java"