/// <summary>
        /// Gets GPS file for specific filename.
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        public IFile GetFile(string filename)
        {
            try
            {
                IFile    file;
                FileInfo fileInfo = new FileInfo(filename);
                string   ext      = fileInfo.Extension.ToUpper();

                switch (ext)
                {
                case ".GPX":
                    file = new GPX11File(filename);
                    if (file.IsFileValid == false)
                    {
                        file = new FileTypes.GPX.GPX10.GPX10File(filename);
                    }
                    break;

                default:
                    throw new ApplicationException("File extension is not recognized.");
                }
                return(file);
            }
            catch (Exception)
            {
                return(new InvalidFile());
            }
        }
        /// <summary>
        /// Gets GPS file for specific filename.
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        public IFile GetFile(string filename)
        {
            try
            {
                IFile file;
                FileInfo fileInfo = new FileInfo(filename);
                string ext = fileInfo.Extension.ToUpper();

                switch (ext)
                {
                    case ".GPX":
                        file = new GPX11File(filename);
                        if (file.IsFileValid == false)
                        {
                            file = new FileTypes.GPX.GPX10.GPX10File(filename);
                        }
                        break;
                    default:
                        throw new ApplicationException("File extension is not recognized.");
                }
                return file;
            }
            catch (Exception)
            {
                return new InvalidFile();
            }
        }