/// <summary>   Returns a string that represents the current object. </summary>
        /// <remarks>   Sander.struijk, 26.02.2014. </remarks>
        /// <returns>   A string that represents the current object. </returns>
        public override string ToString()
        {
            var countryCode          = FormatCountryCode(CountryCode);
            var formattedPhoneNumber = NumberGroups.Any()
                    ? AggregateNumberGroups(countryCode)
                    : DefaultFormatting(countryCode);

            return(formattedPhoneNumber.Trim());
        }