class CoreStatus extends BaseStatus {

    @Override
    public Response description()
    {
        MemberId myself = topologyService.myself();
        MemberId leader = getLeader();
        List<MemberId> votingMembers = new ArrayList<>( raftMembershipManager.votingMembers() );
        boolean participatingInRaftGroup = votingMembers.contains( myself ) && Objects.nonNull( leader );

        long lastAppliedRaftIndex = commandIndexTracker.getAppliedCommandIndex();
        final Duration millisSinceLastLeaderMessage;
        if ( myself.equals( leader ) )
        {
            millisSinceLastLeaderMessage = Duration.ofMillis( 0 );
        }
        else
        {
            millisSinceLastLeaderMessage = raftMessageTimerResetMonitor.durationSinceLastMessage();
        }

        return statusResponse( lastAppliedRaftIndex, participatingInRaftGroup, votingMembers, databaseHealth.isHealthy(), myself, leader,
                millisSinceLastLeaderMessage, true );
    }

      CoreStatus( OutputFormat output, CoreGraphDatabase db );

}