/// <summary>
        ///
        /// </summary>
        /// <param name="strFilePath"></param>
        public bool RegisterPackage(string strPackageFile)
        {
            if (String.IsNullOrEmpty(strPackageFile) == true)
            {
                throw new Exception("VirtualFileManager.RegisterPackage(...) - String.IsNullOrEmpty() == true error!");
            }

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

                if (streamArchive.OpenPackage(strPackageFile) == false)
                {
                    continue;
                }
                else
                {
                    streamArchive.ClosePackage();

                    IStreamArchive streamArchiveNew = streamArchive.CreateInstance();
                    if (streamArchiveNew == null)
                    {
                        return(false);
                    }

                    if (streamArchiveNew.OpenPackage(strPackageFile) == false)
                    {
                        return(false);
                    }

                    IStreamArchive[] tempStream = new IStreamArchive[m_PackageArchives.Length + 1];

                    tempStream[0] = streamArchiveNew;

                    for (int iIndex2 = 0; iIndex2 < m_PackageArchives.Length; ++iIndex2)
                    {
                        tempStream[iIndex2 + 1] = m_PackageArchives[iIndex2];
                    }

                    m_PackageArchives = tempStream;

                    return(true);
                }
            }

            return(false);
        }