private static boolean validateBlockHashAndNumber(
        final Optional<Hash> blockHash, final OptionalLong blockNumber) {
      return (blockHash.isPresent() || blockNumber.isPresent())
          && !(blockHash.isPresent() && blockNumber.isPresent());
    }
Returns the block hash that the message requests or {@link Optional#empty()} if the request
specifies a block number.

@return Block Hash Requested or {@link Optional#empty()}
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/messages/GetBlockHeadersMessage.java