def cache_intermediate_result(cls, result, readable_name=None):
        """Add result to the cached data.

        Parameters
        ----------
        result : LazyResult
            Data to cache.
        readable_name : str
            Will be used when generating a name for this intermediate result.

        Returns
        -------
        str
            A generated placeholder name uniquely identifying this intermediate result.

        """
        from .lazy_result import LazyResult
        assert isinstance(result, LazyResult)

        dependency_name = Cache._generate_placeholder(readable_name)
        Cache._intermediate_results[dependency_name] = result

        return dependency_name