'Walk a parent-child tree of groups, starting with the provided child group
:param parent_group: clc_sdk.Group - the parent group to start the walk
:param child_group: clc_sdk.Group - the child group to start the walk
:return: a dictionary of groups and parents'

def _walk_groups_recursive(self, parent_group, child_group):

    result = {str(child_group): (child_group, parent_group)}
    groups = child_group.Subgroups().groups
    if (len(groups) > 0):
        for group in groups:
            if (group.type != 'default'):
                continue
            result.update(self._walk_groups_recursive(child_group, group))
    return result
