/// <summary>
        ///    Assigns all <c>aSource</c> object's values to this instance of <see cref="ContributorLanguageCollection"/>.
        /// </summary>
        /// <param name="aSource">A source object.</param>
        public override void AssignFromSource(object aSource)
        {
            if (!(aSource is ContributorLanguageCollection))
            {
                throw new ArgumentException("Invalid assignment source", "ContributorLanguageCollection");
            }

            _contributorLanguageFilter.AssignFromSource((aSource as ContributorLanguageCollection)._contributorLanguageFilter);
            _contributorLanguageList.Clear();
            (aSource as ContributorLanguageCollection)._contributorLanguageList.ForEach(vContributorLanguageSource =>
            {
                ContributorLanguage vContributorLanguageTarget = new ContributorLanguage();
                vContributorLanguageTarget.AssignFromSource(vContributorLanguageSource);
                _contributorLanguageList.Add(vContributorLanguageTarget);
            });
        }