def METHOD_NAME(self, name: str) -> Optional[WadLump]:
    name = name.upper()
    if name in self._entry_cache:
        return self._entry_cache[name]
    if name in self.entries:
        entry = self.entries[name]
        self.buffer.seek(entry.offset)
        if entry.type == WadEntryType.MIPTEX:
            entry = self._entry_cache[entry.name] = MipTex(self.buffer)
        elif entry.type == WadEntryType.FONT:
            entry = self._entry_cache[entry.name] = Font(self.buffer)
        return entry
    return None