/// <summary>
        /// Toes the string.	
        /// </summary>
        /// <param name="direction">The direction.</param>
        /// <returns></returns>
        /// <remarks></remarks>
		public string ToString(EnumeratorDirection direction)
		{
			StringBuilder builder = new StringBuilder(items.GetUpperBound(0)*AssumedAverageLineLength);
			IEnumerator enumerator = new CircularArrayEnumerator(this, direction);
			while (enumerator.MoveNext())
			{
				if (builder.Length > 0) builder.Append(Environment.NewLine);
				builder.Append(enumerator.Current);
			}
			return builder.ToString();
		}
        /// <summary>
        /// Toes the string.
        /// </summary>
        /// <param name="direction">The direction.</param>
        /// <returns></returns>
        /// <remarks></remarks>
        public string ToString(EnumeratorDirection direction)
        {
            StringBuilder builder    = new StringBuilder(items.GetUpperBound(0) * AssumedAverageLineLength);
            IEnumerator   enumerator = new CircularArrayEnumerator(this, direction);

            while (enumerator.MoveNext())
            {
                if (builder.Length > 0)
                {
                    builder.Append(Environment.NewLine);
                }
                builder.Append(enumerator.Current);
            }
            return(builder.ToString());
        }
 public CircularArray(T[] arr)
 {
     _enumerator = new CircularArrayEnumerator <T>(arr);
 }