public PageData CreateLanguageBranch(PageReference pageLink, ILanguageSelector selector, AccessLevel access)
        {
            PageData masterPage = GetPage(pageLink);

            LanguageSelectorContext ls = new LanguageSelectorContext(masterPage);

            selector.LoadLanguage(ls);
            PageData      pageData  = ConstructContentData <PageData>(masterPage.PageName, masterPage.PageLink, masterPage.ParentLink, ls.SelectedLanguage);
            List <String> languages = new List <string>(masterPage.PageLanguages);

            languages.Add(ls.SelectedLanguage);
            pageData.InitializeData(languages);
            pageData.PageGuid    = masterPage.PageGuid;
            pageData.PageLink.ID = masterPage.PageLink.ID;
            return(pageData);
        }