public class io.micronaut.health.HeartbeatTask implements io.micronaut.context.event.ApplicationEventListener<io.micronaut.discovery.event.ServiceReadyEvent>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.micronaut.health.HeartbeatTask
  super_class: java.lang.Object
{
  private final java.util.Set<io.micronaut.discovery.ServiceInstance> eventsReference;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lio/micronaut/discovery/ServiceInstance;>;

  private final io.micronaut.context.event.ApplicationEventPublisher eventPublisher;
    descriptor: Lio/micronaut/context/event/ApplicationEventPublisher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.micronaut.health.CurrentHealthStatus currentHealthStatus;
    descriptor: Lio/micronaut/health/CurrentHealthStatus;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(io.micronaut.context.event.ApplicationEventPublisher, io.micronaut.health.HeartbeatConfiguration, io.micronaut.health.CurrentHealthStatus);
    descriptor: (Lio/micronaut/context/event/ApplicationEventPublisher;Lio/micronaut/health/HeartbeatConfiguration;Lio/micronaut/health/CurrentHealthStatus;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.micronaut.health.HeartbeatTask this
        start local 1 // io.micronaut.context.event.ApplicationEventPublisher eventPublisher
        start local 2 // io.micronaut.health.HeartbeatConfiguration configuration
        start local 3 // io.micronaut.health.CurrentHealthStatus currentHealthStatus
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            invokestatic java.util.concurrent.ConcurrentHashMap.newKeySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
            putfield io.micronaut.health.HeartbeatTask.eventsReference:Ljava/util/Set;
         2: .line 49
            aload 0 /* this */
            aload 1 /* eventPublisher */
            putfield io.micronaut.health.HeartbeatTask.eventPublisher:Lio/micronaut/context/event/ApplicationEventPublisher;
         3: .line 50
            aload 0 /* this */
            aload 3 /* currentHealthStatus */
            putfield io.micronaut.health.HeartbeatTask.currentHealthStatus:Lio/micronaut/health/CurrentHealthStatus;
         4: .line 51
            return
        end local 3 // io.micronaut.health.CurrentHealthStatus currentHealthStatus
        end local 2 // io.micronaut.health.HeartbeatConfiguration configuration
        end local 1 // io.micronaut.context.event.ApplicationEventPublisher eventPublisher
        end local 0 // io.micronaut.health.HeartbeatTask this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lio/micronaut/health/HeartbeatTask;
            0    5     1       eventPublisher  Lio/micronaut/context/event/ApplicationEventPublisher;
            0    5     2        configuration  Lio/micronaut/health/HeartbeatConfiguration;
            0    5     3  currentHealthStatus  Lio/micronaut/health/CurrentHealthStatus;
    MethodParameters:
                     Name  Flags
      eventPublisher       
      configuration        
      currentHealthStatus  

  public void pulsate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // io.micronaut.health.HeartbeatTask this
         0: .line 59
            aload 0 /* this */
            getfield io.micronaut.health.HeartbeatTask.eventsReference:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: io.micronaut.health.HeartbeatTask top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.micronaut.discovery.ServiceInstance
            astore 1 /* instance */
        start local 1 // io.micronaut.discovery.ServiceInstance instance
         2: .line 60
            aload 0 /* this */
            getfield io.micronaut.health.HeartbeatTask.eventPublisher:Lio/micronaut/context/event/ApplicationEventPublisher;
            new io.micronaut.health.HeartbeatEvent
            dup
            aload 1 /* instance */
            aload 0 /* this */
            getfield io.micronaut.health.HeartbeatTask.currentHealthStatus:Lio/micronaut/health/CurrentHealthStatus;
            invokeinterface io.micronaut.health.CurrentHealthStatus.current:()Lio/micronaut/health/HealthStatus;
            invokespecial io.micronaut.health.HeartbeatEvent.<init>:(Lio/micronaut/discovery/ServiceInstance;Lio/micronaut/health/HealthStatus;)V
            invokeinterface io.micronaut.context.event.ApplicationEventPublisher.publishEvent:(Ljava/lang/Object;)V
        end local 1 // io.micronaut.discovery.ServiceInstance instance
         3: .line 59
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 62
            return
        end local 0 // io.micronaut.health.HeartbeatTask this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/micronaut/health/HeartbeatTask;
            2    3     1  instance  Lio/micronaut/discovery/ServiceInstance;
    RuntimeVisibleAnnotations: 
      io.micronaut.scheduling.annotation.Scheduled(fixedDelay = "${micronaut.heartbeat.interval:15s}", initialDelay = "${micronaut.heartbeat.initial-delay:5s}")

  public void onApplicationEvent(io.micronaut.discovery.event.ServiceReadyEvent);
    descriptor: (Lio/micronaut/discovery/event/ServiceReadyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.health.HeartbeatTask this
        start local 1 // io.micronaut.discovery.event.ServiceReadyEvent event
         0: .line 66
            aload 0 /* this */
            getfield io.micronaut.health.HeartbeatTask.eventsReference:Ljava/util/Set;
            aload 1 /* event */
            invokevirtual io.micronaut.discovery.event.ServiceReadyEvent.getSource:()Lio/micronaut/discovery/ServiceInstance;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 67
            return
        end local 1 // io.micronaut.discovery.event.ServiceReadyEvent event
        end local 0 // io.micronaut.health.HeartbeatTask this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/micronaut/health/HeartbeatTask;
            0    2     1  event  Lio/micronaut/discovery/event/ServiceReadyEvent;
    MethodParameters:
       Name  Flags
      event  

  public void onApplicationEvent(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.micronaut.discovery.event.ServiceReadyEvent
            invokevirtual io.micronaut.health.HeartbeatTask.onApplicationEvent:(Lio/micronaut/discovery/event/ServiceReadyEvent;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lio/micronaut/context/event/ApplicationEventListener<Lio/micronaut/discovery/event/ServiceReadyEvent;>;
SourceFile: "HeartbeatTask.java"
InnerClasses:
  public KeySetView = java.util.concurrent.ConcurrentHashMap$KeySetView of java.util.concurrent.ConcurrentHashMap
    RuntimeVisibleAnnotations: 
      javax.inject.Singleton()
      io.micronaut.health.HeartbeatEnabled()