private Optional<BlockHeader> determineBlockHeader(final JsonRpcRequestContext request) {
    final Optional<BlockParameter> blockParameter;
    try {
      blockParameter = request.getOptionalParameter(0, BlockParameter.class);
    } catch (JsonRpcParameterException e) {
      throw new InvalidJsonRpcParameters(
          "Invalid block parameter (index 0)", RpcErrorType.INVALID_BLOCK_PARAMS, e);
    }
    final long latest = blockchainQueries.headBlockNumber();
    final long blockNumber = blockParameter.map(b -> b.getNumber().orElse(latest)).orElse(latest);
    return blockchainQueries.blockByNumber(blockNumber).map(BlockWithMetadata::getHeader);
  }
Instantiates a new Clique get signers.

@param blockchainQueries the blockchain queries
@param validatorProvider the validator provider
consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/jsonrpc/methods/CliqueGetSigners.java