public static Responder targetedResponder(
      final BiFunction<Capability, MessageData, Boolean> requestFilter,
      final BiFunction<Capability, MessageData, MessageData> responseGenerator) {
    return (cap, msg) -> {
      if (requestFilter.apply(cap, msg)) {
        return Optional.of(responseGenerator.apply(cap, msg));
      } else {
        return Optional.empty();
      }
    };
  }
@return True if any requests were processed
ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/RespondingEthPeer.java