private void AddReleases()
        {
            foreach (LocalAlbum album in matcherResult.NewReleases)
            {
                Release release = new Release();
                release.JoinedAlbumArtists = album.AlbumArtist;
                release.Artists.Add(new ReleaseArtist()
                {
                    Artist = this.collectionManager.GetOrCreateArtist(album.AlbumArtist)
                });
                release.Title = album.Title;
                if (album.Year == 0)
                {
                    release.ReleaseDate = new ReleaseDate();
                }
                else
                {
                    release.ReleaseDate = new ReleaseDate(album.Year);
                }
                release.Genre = album.Genre;
                release.Tracklist.AddRange(this.collectionManager.Operations.GenerateTracklistForLocalAlbum(this.collectionManager, album, release));

                release.DateAdded = DateTime.Now;
                release.DateModified = DateTime.Now;
                release.DateAudioModified = DateTime.Now;

                release.UpdateDynamicProperties();
                this.collectionManager.Save(release);

                ++this.totalProcessed;
                this.OnProgressChanged();
            }
        }
        private void ReadImages(XmlReader reader, Release release)
        {
            reader.AssertElementStart(Keys.Images);

            if (reader.IsEmptyElement)
            {
                return;
            }

            bool skipRead = false;
            while (skipRead || reader.Read())
            {
                skipRead = false;

                if (reader.IsElementEnd(Keys.Images))
                {
                    break;
                }

                reader.AssertElementStart(Keys.Image);
                Image image = new Image()
                {
                    Type = Utility.ParseEnum<ImageType>(reader.GetAttributeOrNull(Keys.Type)),
                    MimeType = reader.GetAttributeOrNull(Keys.MimeType),
                    Extension = reader.GetAttributeOrNull(Keys.Extension),
                    Description = reader.GetAttributeOrNull(Keys.Description),
                    IsMain = bool.Parse(reader.GetAttributeOrNull(Keys.IsMain))
                };
                release.Images.Add(image);

                release.UpdateDynamicProperties();

                this.collectionManager.ImageHandler.StoreImageFromXml(image, reader);

                skipRead = true;
            }
        }