@classmethod
def get_annotated_list(cls, parent=None, max_depth=None):
    """
        Gets an annotated list from a tree branch.

        :param parent:

            The node whose descendants will be annotated. The node itself
            will be included in the list. If not given, the entire tree
            will be annotated.

        :param max_depth:

            Optionally limit to specified depth
        """
    result, info = [], {}
    start_depth, prev_depth = None, None
    qs = cls.get_tree(parent)
    if max_depth:
        qs = qs.filter(depth__lte=max_depth)
    return cls.get_annotated_list_qs(qs)
