/// <summary>
        /// Writes xml-document with sequence of url-addresses to file
        /// </summary>
        /// <param name="urlAddressesStrings">Sequence of url-addresses to be added to xml-document</param>
        /// <param name="writePath">Path of file to save xml-document</param>
        public static void WriteXDocumentWithUrlAddresses(IEnumerable <string> urlAddressesStrings, string writePath)
        {
            logger = LogManager.GetCurrentClassLogger();

            if (urlAddressesStrings.Count() == 0)
            {
                logger.Info("No url-addresses to create xml-document.");
                return;
            }

            List <URLAddress> urlAddresses = new List <URLAddress>();

            foreach (var url in urlAddressesStrings)
            {
                try
                {
                    URLAddress urlAddress = url.ToURLAddress();
                    urlAddresses.Add(urlAddress);
                }
                catch
                {
                    logger.Error("String: " + url + " doesn't match url-address pattern");
                }
            }

            if (urlAddresses.Count == 0)
            {
                logger.Info("No matches of url-address pattern found in strings sequence.");
                return;
            }

            XDocument document = URLAddresstoXML.GetXmlUrlAddresses(urlAddresses);

            if (writePath == null)
            {
                logger.Error("Specified file path is null.");
                throw new ArgumentNullException();
            }
            document.Save(writePath);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public static XDocument ReadURLAddressesFromFile(string path)
        {
            logger = LogManager.GetCurrentClassLogger();
            if (path == null)
            {
                logger.Error("Specified file path is null.");
                throw new ArgumentNullException();
            }

            IEnumerable <string> lines = File.ReadLines(path);

            if (lines.Count() == 0)
            {
                logger.Info("File is empty.");
                return(null);
            }

            List <URLAddress> urlAddresses = new List <URLAddress>();

            foreach (var line in lines)
            {
                try
                {
                    URLAddress urlAddress = line.ToURLAddress();
                    urlAddresses.Add(urlAddress);
                }
                catch
                {
                    logger.Error("Line: " + line + " doesn't match url-address pattern");
                }
            }

            if (urlAddresses.Count == 0)
            {
                logger.Info("No matches of url-address pattern found in the file.");
                return(null);
            }

            return(URLAddresstoXML.GetXmlUrlAddresses(urlAddresses));
        }