@Override
  public void appendPluginServices(final BesuPluginContextImpl besuContext) {
    final IbftQueryServiceImpl service =
        new IbftQueryServiceImpl(blockInterface, blockchain, nodeKey);
    besuContext.addService(IbftQueryService.class, service);
    besuContext.addService(PoaQueryService.class, service);
    besuContext.addService(PoAMetricsService.class, service);

    final BftQueryServiceImpl bftService =
        new BftQueryServiceImpl(blockInterface, blockchain, validatorProvider, nodeKey, "ibft");
    besuContext.addService(BftQueryService.class, bftService);
  }
Instantiates a new Ibft query plugin service factory.

@param blockchain the blockchain
@param blockInterface the block interface
@param validatorProvider the validator provider
@param nodeKey the node key
app/src/main/java/org/hyperledger/besu/controller/IbftQueryPluginServiceFactory.java