def evaluate(self, verbose=False, decode=True, passes=None, num_threads=1, apply_experimental=True):
        """Evaluates by creating a MultiIndex containing evaluated data and index.

        See `LazyResult`

        Returns
        -------
        MultiIndex
            MultiIndex with evaluated data.

        """
        evaluated_data = [v.evaluate(verbose, decode, passes, num_threads, apply_experimental) for v in self.values]

        return MultiIndex(evaluated_data, self.names)