//----------------------------------------------------------
        // GetNextRequest
        //----------------------------------------------------------
        public ApplicationMonikerRequest GetNextRequest(IAssemblyManifestImport ami)
        {
            FileType type;
            Uri      codebase;

            DependentFileInfo     dfi;
            DependentAssemblyInfo dai;

            // we can't do components for now.
            if (ami.GetFileType() == FileType.ComponentManifest)
            {
                return(null);
            }

            dfi = ami.GetNextDependentFileInfo();
            if (dfi != null)
            {
                codebase = new Uri(_appBase, dfi["name"]);
                type     = FileType.RawFile;
            }
            else
            {
                // Don't follow component dependencies.
//				if (ami.GetFileType() == FileType.ComponentManifest)
//					return null;

                dai = ami.GetNextDependentAssemblyInfo();
                if (dai != null)
                {
                    codebase = new Uri(_appBase, dai["codeBase"]);
                    type     = FileType.ComponentManifest;
                }
                else
                {
                    codebase = null;
                    type     = FileType.Unknown;
                }
            }

            if (codebase == null)
            {
                return(null);
            }

            ApplicationMonikerRequest request =
                (ApplicationMonikerRequest)ApplicationMonikerRequest.Create(codebase, _appBase, _appStorePath);

            request.type = type;

            return(request);
        }