@Override
  public void appendPluginServices(final BesuPluginContextImpl besuContext) {
    final BftBlockInterface blockInterface = new BftBlockInterface(bftExtraDataCodec);

    final BftQueryServiceImpl service =
        new BftQueryServiceImpl(
            blockInterface, blockchain, validatorProvider, nodeKey, consensusMechanismName);
    besuContext.addService(BftQueryService.class, service);
    besuContext.addService(PoaQueryService.class, service);
    besuContext.addService(PoAMetricsService.class, service);
  }
Instantiates a new Bft query plugin service factory.

@param blockchain the blockchain
@param bftExtraDataCodec the bft extra data codec
@param validatorProvider the validator provider
@param nodeKey the node key
@param consensusMechanismName the consensus mechanism name
app/src/main/java/org/hyperledger/besu/controller/BftQueryPluginServiceFactory.java