/// <summary>
        /// constructor to initialize <c>PhoneNumber</c> based on a
        /// supplied mobile number
        /// </summary>
        /// <param name="mobile">Unformatted mobile number</param>
        public PhoneNumber(string mobile)
        {
            IDictionary <PhoneNumberSection, string> tokens = PhoneNumberTokenizer.Tokenize(mobile);

            CountryCode = tokens[PhoneNumberSection.CountryCode];
            Prefix      = int.Parse(tokens[PhoneNumberSection.OperatorCode]);
            Suffix      = int.Parse(tokens[PhoneNumberSection.RealNumber]);
        }
 /// <summary>
 /// Checks if a phone number is valid or not
 /// </summary>
 /// <param name="phoneNumber">Raw mobile number string</param>
 /// <returns>A boolean representing the result of analysis.</returns>
 public bool IsValid(string phoneNumber)
 {
     return(PhoneNumberTokenizer.isValid(phoneNumber));
 }