// Rotate about the  x-axis or y-axis a certatin number of times, and return the result.
        // Rotate around the x-axis or the y-axis.
        public override R2CircularDirection RotateAroundAxis(int indexOfAxis, int numberOfTimes)
        {
            R2CircularDirection direction = this;


            R2Direction <R2CircularDirection, CircularLinkedList <R2Point>, CircularDirection <R2CircularDirection, R2Point> > .RotateAroundAxis(indexOfAxis, numberOfTimes, this);

            return(new R2CircularDirection(new R2Point(StartingPoint.GetAxisAt(0), StartingPoint.GetAxisAt(1), StartingPoint.CanShoot),
                                           Direction, SharedDirection.DirectionLength, SharedDirection.Divisor, CanShoot, Duration));
        }
 // Rotate about the  x-axis or y-axis a certatin number of times, and return the result.
 // Rotate around the x-axis or the y-axis.
 public R2CDirection RotateAroundAxis(int indexOfAxis, int numberOfTimes)
 {
     return(new R2CDirection(directionHelper.RotateAroundAxis(indexOfAxis, numberOfTimes)));
 }