public void UpdateAvailableDownloads()
{
if (IsUpdating)
{
return;
}
IsUpdating = true;
var enabledCategories = GetEnabledCategories().ToList();
var availableItems = GetAvailableItems(enabledCategories);
RemoveAlreadyFinishedDownloads(availableItems);
RemoveDownloadsFromQueueThatAreNoLongerEnabled(enabledCategories);
EnqueueDownloads(availableItems);
IsUpdating = false;
}