public PatrolRoute(IRoute route)
 {
     if (route.Count().Equals(0))
     {
         throw new ArgumentException("route");
     }
     Route = route;
 }
        public void EnsureMatches()
        {
            if (_route1.Count() != _route2.Count())
            {
                throw new NonMatchingException(string.Format("Route lengths were: {0}, {1}", _route1.Count(), _route2.Count()));
            }
            var segments1 = _route1.ToList();
            var segments2 = _route2.ToList();

            for (int i = 0; i < segments1.Count(); i++)
            {
                EnsurePathsMatch(segments1[i], segments2[i], i);
            }
        }