def METHOD_NAME(self) -> List[BaseConnectionSolver]:
    connection_solvers = [sub_solver for sub_solver in self.solvers if isinstance(sub_solver, BaseConnectionSolver)]
    filter_solvers = [sub_solver for sub_solver in self.solvers if isinstance(sub_solver, BaseFilterSolver)]
    resource_types_to_filter = []
    for filter_solver in filter_solvers:
        if filter_solver.attribute == "resource_type":
            resource_types_to_filter.extend(filter_solver.value)
    sorted_connection_solvers = []
    connection_solvers_with_filtered_resource_types = []
    for connection_solver in connection_solvers:
        if any(
            r in resource_types_to_filter
            for r in itertools.chain(connection_solver.resource_types, connection_solver.connected_resources_types)
        ):
            connection_solvers_with_filtered_resource_types.append(connection_solver)
        else:
            sorted_connection_solvers.append(connection_solver)
    sorted_connection_solvers.extend(connection_solvers_with_filtered_resource_types)
    return sorted_connection_solvers