def _print_repr(self, depth):
        """Print this WorkItem to the given stack depth.

        The depth parameter ensures that we can print WorkItems in
        arbitrarily long chains without hitting the max stack depth.
        This can happen with WaitForUrlWorkflowItems, which
        create long chains of small waits.
        """
        if depth <= 0:
            return '%s.%s#%d' % (
                self.__class__.__module__,
                self.__class__.__name__,
                id(self))

        return '%s.%s(%s)#%d' % (
            self.__class__.__module__,
            self.__class__.__name__,
            self._print_tree(self._get_dict_for_repr(), depth - 1),
            id(self))
Print this WorkItem to the given stack depth.

        The depth parameter ensures that we can print WorkItems in
        arbitrarily long chains without hitting the max stack depth.
        This can happen with WaitForUrlWorkflowItems, which
        create long chains of small waits.