/// <summary>
        ///
        /// </summary>
        /// <param name="strFileName"></param>
        /// <returns></returns>
        public VirtualStream OpenFile(string strFileName, FileAccess fileAccess)
        {
            if (String.IsNullOrEmpty(strFileName) == true)
            {
                throw new Exception("VirtualFileManager.OpenFile(...) - String.IsNullOrEmpty() == true error!");
            }

            for (int iIndex = 0; iIndex < m_PackageArchives.Length; ++iIndex)
            {
                IStreamArchive streamArchive = m_PackageArchives[iIndex];

                VirtualStream virtualStream = streamArchive.OpenFile(strFileName, fileAccess);

                if (virtualStream == null)
                {
                    continue;
                }
                else
                {
                    return(virtualStream);
                }
            }

            return(FileArchive.SingletonInstance.OpenFile(strFileName, fileAccess));
        }