@Override public Iterator<T> iterator(){
  return buffer.descendingIterator();
}

@ Override public Iterator < T > iterator ( ) { return buffer . descendingIterator ( ) ; }
returns an iterator over the elements in the circular buffer in proper sequence . the elements will be returned in order from most - recent to oldest . the returned iterator is a " weakly consistent " iterator that will never throw concurrentmodificationexception , and guarantees to traverse elements as they existed upon construction of the iterator , and may ( but is not guaranteed to ) reflect any modifications subsequent to construction .
