public Instance GetInstance(string path) { var instances = getInstances(path); return instances.Where(x => path.StartsWith(x.Key) && canConnectTo(x)) .OrderByDescending(x => x.Key.Length) .FirstOrDefault(); }