private async Task RunInitialQuery(CancellationToken cancellationToken) { var startReferences = initialAnchor.GetFactReferences().ToImmutableList(); var products = await factManager.Query(startReferences, specification, cancellationToken); var productAnchorProjections = await factManager.ComputeProjections(specification.Projection, products, typeof(TProjection), observation, initialAnchor, string.Empty, cancellationToken); var removals = await observation.NotifyAdded(productAnchorProjections); lock (this) { removalsByProduct = removalsByProduct.AddRange(removals); } }