public FavoriteSongForUserContract(FavoriteSongForUser favoriteSongForUser, ContentLanguagePreference languagePreference)
        {
            ParamIs.NotNull(() => favoriteSongForUser);

            Id     = favoriteSongForUser.Id;
            Rating = favoriteSongForUser.Rating;
            Song   = new SongContract(favoriteSongForUser.Song, languagePreference);
            User   = new UserWithEmailContract(favoriteSongForUser.User);
        }
		public FavoriteSongForUserContract(FavoriteSongForUser favoriteSongForUser, ContentLanguagePreference languagePreference) {
			
			ParamIs.NotNull(() => favoriteSongForUser);

			Id = favoriteSongForUser.Id;
			Rating = favoriteSongForUser.Rating;
			Song = new SongContract(favoriteSongForUser.Song, languagePreference);
			User = new UserWithEmailContract(favoriteSongForUser.User);

		}
		public SongListContract(SongList list, IUserPermissionContext permissionContext)
			: base(list) {

			ParamIs.NotNull(() => list);

			Author = new UserWithEmailContract(list.Author);
			CanEdit = EntryPermissionManager.CanEdit(permissionContext, list);
			Description = list.Description;
			FeaturedCategory = list.FeaturedCategory;
			Thumb = (list.Thumb != null ? new EntryThumbContract(list.Thumb) : null);

		}