<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_block_uncles(self, uncles_hash: Hash32) -> List[BlockHeader]: """ Returns an iterable of uncle headers specified by the given uncles_hash """

        validate_word(uncles_hash, title="Uncles Hash")
        if uncles_hash == EMPTY_UNCLE_HASH:
            return []
        try:
            encoded_uncles = self.db[uncles_hash]
        except KeyError:
            raise HeaderNotFound(
                "No uncles found for hash {0}".format(uncles_hash)
            )
        else:
            return rlp.decode(encoded_uncles, sedes=rlp.sedes.CountableList(BlockHeader))