public ImmutableArray <Position> GetPositions() { if (_positions != null) { return(_positions.ToImmutableArray()); } if (!_tradingDay.HasValue) { throw new InvalidOperationException("Unable to provide positions: the draft snapshot provider has not been initialized yet"); } EnsureSnapshotLoadedOrThrowAsync().GetAwaiter().GetResult(); _positions = _snapshot.GetPositionsFromDraft(); return(_positions.ToImmutableArray()); }