public Settlement Copy()
        {
            var copy = new Settlement(Fields, MainRoad, false);

            Roads.Cast <ICopyable <Road> >().ToList().ForEach(g => copy.Roads.Add(g.Copy()));
            copy.Fitness = this.Fitness;
            return(copy);
        }