Recursively traverse all paths inside this entity, including the entity
        itself.

        :param base: The base path to prepend to the entity name.
        :return: An iterator of paths.

def walk_paths(self,
                   base: Optional[pathlib.PurePath] = pathlib.PurePath()) \
            -> Iterator[pathlib.PurePath]:
        """
        Recursively traverse all paths inside this entity, including the entity
        itself.

        :param base: The base path to prepend to the entity name.
        :return: An iterator of paths.
        """
        raise NotImplementedError()