private (IConnector Connector, IConnection Connection, string Name) GetConnection(BlockConfig config, IFlowContext context) { var(connectorName, name) = config.Type.SplitType(); var connector = connectorRegistry.Get(connectorName); if (connector is null) { throw new FlowException($"Unable to acquire connector \"{connectorName}\".", context); } var connectionConfiguration = configurationProvider .GetConnectionConfiguration(connectorName, config.Configuration) .Map(connector.ConfigurationType); var connection = connector.GetConnection(connectionConfiguration); if (connection is null) { throw new FlowException($"Unable to acquire connection for \"{connectorName}\" and configuration {{{connectionConfiguration}}}.", context); } return(connector, connection, name); }