public IAbstractItem GetStartPage(string host, ITargetingFilter filter = null) { var bindings = new List <string>(); foreach (var startPage in Root.GetChildren(filter).OfType <IStartPage>()) { var dns = startPage.GetDNSBindings(); bindings.AddRange(dns); } var matcher = new WildcardMatcher(WildcardMatchingOption.FullMatch, bindings); var pattern = matcher.MatchLongest(host); return(pattern != null ? _startPageByDnsPatternMappings[pattern] : null); }