public override Iterator <Route> GetRoutesFrom(City from)
        {
            Iterator <Route> toRet   = new DatabaseIterator(new List <Route>());
            Iterator <Route> current = base.GetRoutesFrom(from);

            if (current.IsEmpty())
            {
                return(toRet);
            }
            for (Route curr = current.Next(); curr != null; curr = current.Next())
            {
                if (curr.To.Population >= minPopulation)
                {
                    toRet.Add(curr);
                }
            }
            return(toRet);
        }
        public override Iterator <Route> GetRoutesFrom(City from)
        {
            Iterator <Route> toRet   = new DatabaseIterator(new List <Route>());
            Iterator <Route> current = base.GetRoutesFrom(from);

            if (current.IsEmpty() || Restaurant == false)
            {
                return(current);
            }
            for (Route curr = current.Next(); curr != null; curr = current.Next())
            {
                if (curr.To.HasRestaurant)
                {
                    toRet.Add(curr);
                }
            }
            return(toRet);
        }