Resolves all component connection. If connections are configured to be retrieved
        from Discovery service it finds a [[IDiscovery]] and resolves the connection there.

        :param correlation_id: (optional) transaction id to trace execution through call chain.

        :return: a list of resolved connections.

def resolve_all(self, correlation_id):
        """
        Resolves all component connection. If connections are configured to be retrieved
        from Discovery service it finds a [[IDiscovery]] and resolves the connection there.

        :param correlation_id: (optional) transaction id to trace execution through call chain.

        :return: a list of resolved connections.
        """
        resolved = []
        to_resolve = []

        # Sort connections
        for connection in self._connections:
            if connection.use_discovery():
                to_resolve.append(connection)
            else:
                resolved.append(connection)
        
        # Resolve addresses that require that
        if len(to_resolve) > 0:
            for connection in to_resolve:
                resolved_connections = self._resolve_all_in_discovery(correlation_id, connection)
                for resolved_connection in resolved_connections:
                    # Merge configured and new parameters
                    resolved_connection = ConnectionParams(ConfigParams.merge_configs(connection, resolved_connection))
                    resolved.append(resolved_connection)
        
        return resolved