def METHOD_NAME(comp_path, cmp_types_list):
    discovered_cmps = []
    mlogger.debug('Testing _get_component(s) on: %s ', comp_path)
    # comp_path might be a file or a dir,
    # but its name should not start with . or _:
    for cmp_type in cmp_types_list:
        mlogger.debug('Testing sub_directory %s for %s', comp_path, cmp_type)
        # if cmp_class can be created for this sub-dir, the add to list
        if cmp_type.matches(comp_path):
            component = cmp_type(cmp_path=comp_path)
            discovered_cmps.append(component)
            mlogger.debug('Successfuly created component: %s from: %s',
                          component, comp_path)
    return discovered_cmps