private void ExportTrackArtists(XmlWriter writer, Track track)
        {
            if (!string.IsNullOrEmpty(track.JoinedArtists))
            {
                writer.WriteStartElement(Keys.Artists);

                TrackArtist[] artists = null;
                try
                {
                    artists = track.Artists.ToArray();
                    track.Artists.Select(a => a.Artist.Name).ToArray(); // get names to verify
                }
                catch
                {
                    artists = new TrackArtist[]
                    {
                        new TrackArtist()
                        {
                            Artist = new Artist()
                                     {
                                         Name = track.JoinedArtists
                                     }
                        }
                    };
                }

                if (artists != null)
                {
                    foreach (TrackArtist artist in artists)
                    {
                        this.ExportTrackArtist(writer, artist);
                    }
                }

                writer.WriteEndElement();
            }
        }
        private void ExportTrackArtist(XmlWriter writer, TrackArtist releaseArtist)
        {
            writer.WriteStartElement(Keys.Artist);

            writer.WriteAttributeString(Keys.Name, releaseArtist.Artist.Name);
            if (!string.IsNullOrEmpty(releaseArtist.JoinString))
            {
                writer.WriteAttributeString(Keys.JoinString, releaseArtist.JoinString);
            }

            writer.WriteEndElement();
        }