public void InsertWall(Point from, Point to)
        {
            Wall newWall = new Wall(from, to);

            if (!newWall.IsHorizontal() && !newWall.IsVertical())
            {
                throw new OutOfRangeComponentException();
            }
            else if (!WallInRange(newWall))
            {
                throw new OutOfRangeComponentException();
            }
            else if (TakesOtherWallsPlace(newWall))
            {
                throw new CollinearWallsException();
            }
            else if (TakesAColumnPlace(newWall))
            {
                throw new ColumnInPlaceException();
            }
            else
            {
                InsertValidatedWall(newWall);
            }
        }