public static Wall CopyAndFlip(Wall wall, CoordinateFlipper flipper, Dictionary<int, Entity> flippedEntities)
        {
            if (flippedEntities.ContainsKey(wall.Id)) return (Wall) flippedEntities[wall.Id];

            var copy = new Wall(wall)
            {
                X = flipper.CalculateFlippedX(wall.X),
                Y = flipper.CalculateFlippedY(wall.Y)
            };

            flippedEntities.Add(copy.Id, copy);
            return copy;
        }
 private Wall(Wall wall)
     : base(wall)
 {
 }