/// <summary>
        /// Creates the page instance.
        /// </summary>
        /// <returns></returns>
        public override UPMSearchPage CreatePageInstance()
        {
            this.InfoAreaId = this.ViewReference.ContextValueForKey("InfoArea");
            this.ConfigName = this.ViewReference.ContextValueForKey("ConfigName");
            string searchTypeString         = this.ViewReference.ContextValueForKey("InitialSearchType");
            SearchPageSearchType searchType = SearchPageSearchType.OfflineSearch;
            string fullTextSearchString     = this.ViewReference.ContextValueForKey("FullTextSearch");

            this.FullTextSearch = !(string.IsNullOrEmpty(fullTextSearchString) || fullTextSearchString == "false");

            this.MinSearchTextLength = Convert.ToInt32(this.ViewReference.ContextValueForKey("MinSearchTextLength"));

            if (this.MinSearchTextLength == 0)
            {
                this.MinSearchTextLength = 1;
            }

            if (!string.IsNullOrEmpty(searchTypeString))
            {
                searchType = (SearchPageSearchType)Convert.ToInt32(searchTypeString);
            }

            if (string.IsNullOrEmpty(this.InfoAreaId) && this.ViewReference.ContextValueForKey("Modus") == "GlobalSearch")
            {
                if (string.IsNullOrEmpty(this.ConfigName))
                {
                    this.ConfigName = "default";
                }
            }

            List <IIdentifier>      identifiers = new List <IIdentifier>();
            IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore;
            QuickSearch             quickSearch = configStore.QuickSearchByName(this.ConfigName);
            int infoAreaCount = quickSearch?.NumberOfInfoAreas ?? 0;

            for (int i = 0; i < infoAreaCount; i++)
            {
                string currentInfoAreaId = quickSearch.InfoAreaIdAtIndex(i);
                identifiers.Add(new RecordIdentifier(currentInfoAreaId, null));
            }

            MultipleIdentifier multipleIdentifier = new MultipleIdentifier(identifiers);
            UPMSearchPage      page = new UPMSearchPage(multipleIdentifier);

            page.SearchType            = searchType;
            page.AvailableOnlineSearch = !this.ViewReference.ContextValueIsSet("hideOnlineOfflineButton");
            page.Style = UPMTableStyle.UPMGlobalSearchTableStyle;
            if (searchType == SearchPageSearchType.OnlineSearch)
            {
                page.InitiallyOnline = true;
            }

            return(page);
        }