private async Task LoadDataInternalAsync()
		{
			await _localStorageManager.ClearTempFilesAsync();

			var streamItems = new StreamItemCollection(_apiClient, _streamId, _showNewestFirst, _telemetryClient, AllArticles, b => IsBusy = b, _preloadItemCount);
			streamItems.LoadMoreItemsError += (sender, args) => IsOffline = true;
			await streamItems.InitAsync();
			
			Items = streamItems;
			_currentItem = Items.FirstOrDefault();

			if (_currentItem != null)
			{
				_currentItem.IsSelected = true;
				SetCurrentItemRead(!_currentItem.Unread);
				SetCurrentItemStarred(_currentItem.Starred);
			}
			else
			{
				SetCurrentItemRead(false);
				SetCurrentItemStarred(false);
			}

			CurrentItemReadEnabled = _currentItem != null && !(_currentItem is EmptySpaceStreamItem) && !(_currentItem is HeaderSpaceStreamItem);
			CurrentItemStarredEnabled = _currentItem != null && !(_currentItem is EmptySpaceStreamItem) && !(_currentItem is HeaderSpaceStreamItem);
			RaiseOpenWebCommandCanExecuteChanged();
			RaiseShareCommandCanExecuteChanged();
			RaiseSaveCommandCanExecuteChanged();

			if (Items != null)
			{
				var streamItemCollectionState = Items.GetSate();
				//await _cacheManager.SaveStreamAsync(streamItemCollectionState);
				await _localStorageManager.SaveStreamCollectionAsync(streamItemCollectionState);
			}
		}