private static Type GetDummyPage(Type packageType) { var shellRef = packageType.Assembly.GetReferencedAssemblies().FirstOrDefault(a => shellName.IsMatch(a.Name)); if (shellRef == null) { tracer.Critical(Strings.OptionsManager.ShellReferenceNotFound(packageType)); throw new ArgumentException(Strings.OptionsManager.ShellReferenceNotFound(packageType)); } return(dummyPages.GetOrAdd(shellRef, name => GeneratePageType(name))); }