code: def resolve(self, correlation_id):
          
          if len(self._connections) == 0: return None
          
          # Return connection that doesn't require discovery
          for connection in self._connections:
              if not connection.use_discovery():
                  return connection
          
          # Return connection that require discovery
          for connection in self._connections:
              if connection.use_discovery():
                  resolved_connection = self._resolve_in_discovery(correlation_id, connection)
                  if resolved_connection != None:
                      # Merge configured and new parameters
                      resolved_connection = ConnectionParams(ConfigParams.merge_configs(connection, resolved_connection))
                      return resolved_connection
          
          return None
docs: Resolves a single 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: resolved connection parameters or null if nothing was found.