in src/DeloitteDigital.Atlas/Multisite/Datasource/GetDatasourceLocationFromProviders.cs [19:36]
public void Process(GetRenderingDatasourceArgs args)
{
Assert.ArgumentNotNull(args, nameof(args));
Assert.IsNotNull(_providers, typeof(IDatasourceProvider));
var source = args.RenderingItem[DatasourceLocationFieldName];
foreach (var datasourceProvider in _providers)
{
if (!datasourceProvider.CanAct(source))
continue; // current provider cannot act on this data source
var contextItem = args.ContentDatabase.GetItem(args.ContextItemPath);
var datasources = datasourceProvider.GetDatasources(source, contextItem);
args.DatasourceRoots.AddRange(datasources);
}
}