/// <summary>
        /// Throws OutOfPlateauException if the Rover tries to move out of the plateau borders, else returns new Coordinates to move
        /// </summary>
        /// <param name="currentCoordinates">Rover's current coordinates</param>
        /// <param name="currentDirection">Rover's current direction</param>
        /// <returns>New Coordinates to move according to given direction</returns>
        public override Coordinates MoveToNewCoordinates(Coordinates currentCoordinates, DirectionClass currentDirection)
        {
            Coordinates newCoordinates = currentCoordinates + currentDirection.GetMoveForwardCoordinates();

            if (newCoordinates.coordX < lowerBoundryBorderCoordinates.coordX || newCoordinates.coordY < lowerBoundryBorderCoordinates.coordY || newCoordinates.coordX > upperBoundryBorderCoordinates.coordX || newCoordinates.coordY > upperBoundryBorderCoordinates.coordY)
            {
                throw new OutOfPlateauException();
            }

            return(newCoordinates);
        }
        /// <summary>
        /// Makes the Rover wait if it tries to move out of the plateau borders, else returns new Coordinates to move
        /// </summary>
        /// <param name="currentCoordinates">Rover's current coordinates</param>
        /// <param name="currentDirection">Rover's current direction</param>
        /// <returns>New Coordinates to move according to given direction</returns>
        public override Coordinates MoveToNewCoordinates(Coordinates currentCoordinates, DirectionClass currentDirection)
        {
            Coordinates newCoordinates = currentCoordinates + currentDirection.GetMoveForwardCoordinates();

            if (newCoordinates.coordX < lowerBoundryBorderCoordinates.coordX)
            {
                newCoordinates.coordX = lowerBoundryBorderCoordinates.coordX;
            }
            if (newCoordinates.coordX > upperBoundryBorderCoordinates.coordX)
            {
                newCoordinates.coordX = upperBoundryBorderCoordinates.coordX;
            }
            if (newCoordinates.coordY < lowerBoundryBorderCoordinates.coordY)
            {
                newCoordinates.coordY = lowerBoundryBorderCoordinates.coordY;
            }
            if (newCoordinates.coordY > upperBoundryBorderCoordinates.coordY)
            {
                newCoordinates.coordY = upperBoundryBorderCoordinates.coordY;
            }

            return(newCoordinates);
        }