def __parse_dict(self) -> OrderedDict:
        """Returns an Ordered Dictionary of nested bencode elements."""
        self.idx += 1
        d = OrderedDict()
        key_name = None
        while self.data[self.idx: self.idx + 1] != b'e':
            if key_name is None:
                key_name = self.__parse()
            else:
                d[key_name] = self.__parse()
                key_name = None
        self.idx += 1
        return d
Returns an Ordered Dictionary of nested bencode elements.