def print_tree_of_collection_id(cid, max_level=2):  # start / begin
        if not msc.MSC.row_with_cid_exists(cid, 1):
            return None

            ##print TreeNode.get_formatted_node_headers()
        print msc.prepend_columns_string(TreeNode.get_formatted_node_headers(), "level", 8)
        TreeNode.rec_print_tree_db(cid, max_level, 0)
    def rec_print_tree_db(cid, max_level, level=0):  # recursive
        ##print TreeNode.get_node_info_with_cid(cid, level)
        print msc.prepend_columns_string(TreeNode.get_node_info_with_cid(cid, level), level, 8)
        new_level = level + 1

        if new_level == max_level:
            return  # stop recursing

            # get collection id of child nodes
        child_cids = TreeNode.get_child_node_id(cid)

        if msc.is_data_valid(child_cids):
            for cid in child_cids:
                TreeNode.rec_print_tree_db(cid, max_level, new_level)