| roundExpired(RoundExpiry) |   | 83% |   | 83% | 1 | 4 | 6 | 27 | 0 | 1 |
| handleBlockTimerExpiry(ConsensusRoundIdentifier) |   | 87% |   | 83% | 1 | 4 | 2 | 15 | 0 | 1 |
| handleRoundChangePayload(RoundChange) |   | 95% |   | 80% | 2 | 6 | 1 | 21 | 0 | 1 |
| lambda$handleCommitPayload$3(Commit) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$handlePreparePayload$2(Prepare) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| QbftBlockHeightManager(BlockHeader, BftFinalState, RoundChangeManager, QbftRoundFactory, Clock, MessageValidatorFactory, MessageFactory) |  | 100% | | n/a | 0 | 1 | 0 | 20 | 0 | 1 |
| logValidatorChanges(QbftRound) |  | 100% |   | 83% | 1 | 4 | 0 | 11 | 0 | 1 |
| startNewRound(int) |  | 100% |  | 100% | 0 | 2 | 0 | 10 | 0 | 1 |
| handleProposalPayload(Proposal) |  | 100% |  | 100% | 0 | 4 | 0 | 12 | 0 | 1 |
| actionOrBufferMessage(BftMessage, Consumer, BiConsumer) |  | 100% |  | 100% | 0 | 3 | 0 | 11 | 0 | 1 |
| handlePreparePayload(Prepare) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| handleCommitPayload(Commit) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| determineAgeOfPayload(int) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| lambda$new$0(BftFinalState, MessageValidatorFactory, BlockHeader, ConsensusRoundIdentifier) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$startNewRound$5(int, Integer) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| getChainHeight() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$actionOrBufferMessage$4(ConsensusRoundIdentifier, Integer) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$determineAgeOfPayload$6(QbftRound) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$handleProposalPayload$1(Proposal, QbftRound) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getParentBlockHeader() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |