private void SourceItem_Expanded(object sender, RoutedEventArgs e)
        {
            try
            {
                var treeViewItem = sender as TreeViewItem;
                if (treeViewItem != null)
                {
                    var source = treeViewItem.Header as ISource;
                    if (source != null)
                    {
                        if (source is FileSystemSource || source is DirectorySource)
                        {
                            sourceController.LoadDirectories(source);
                        }

                        if (source is PodcastSource)
                        {
                            sourceController.LoadPodcast(source, this);
                        }

                        if (source is SpiderSource)
                        {
                            sourceController.LoadSpider(source, this);
                        }

                        if (source is DeviceCatalogSource)
                        {
                            if (source.Children.Count() == 1 && source.Children.FirstOrDefault() is ProxySource)
                            {
                                sourceController.LoadDevices(source, this);
                            }
                        }

                        if (source is YouTubeUserSource)
                        {
                            //if (source.Children.Count() == 1 && source.Children.FirstOrDefault() is ProxySource)
                            //{
                            sourceController.LoadYouTubeUser(source, this);
                            //}
                        }

                        foreach (var child in source.Children)
                        {
                            var playlistItem = child as PlaylistItemSource;
                            if (playlistItem != null)
                            {
                                if (!string.IsNullOrEmpty(playlistItem.Path) && playlistItem.ImageData == null)
                                {
                                    LoadPicture(playlistItem);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error("SourceItem_Expanded", ex);
            }
        }