def METHOD_NAME(obj_dict, avi_config, new_config, depth, skip_ref_objects=skip_ref_object_list):
    """
    Method to iterate in one object find references and add those to output
    :param obj_dict: Object to be iterated over
    :param avi_config: Full config
    :param new_config: Filtered config
    :param depth: Recursion depth to determine level in the vs reference tree
    :param skip_ref_objects: comma separated names of objects ref to be skipped
    """
    for key in obj_dict:
        if (key.endswith('ref') and key not in skip_ref_objects) \
                or key == 'ssl_profile_name':
            if not obj_dict[key]:
                continue
            entity, name = mg_util.get_name_and_entity(obj_dict[key])
            search_obj(entity, name, new_config, avi_config, depth)
        elif key.endswith('refs'):
            for ref in obj_dict[key]:
                entity, name = mg_util.get_name_and_entity(ref)
                search_obj(entity, name, new_config, avi_config, depth)
        elif isinstance(obj_dict[key], dict):
            METHOD_NAME(obj_dict[key], avi_config, new_config, depth,
                                 skip_ref_objects=skip_ref_objects)
        elif obj_dict[key] and isinstance(obj_dict[key], list) \
                and isinstance(obj_dict[key][0], dict):
            for member in obj_dict[key]:
                METHOD_NAME(member, avi_config, new_config, depth,
                                     skip_ref_objects=skip_ref_objects)
    return