CircularList { public T getNextElement() { return ref.get().getNextElement(); } CircularList(Collection<T> origList); T getNextElement(); void swapWithList(Collection<T> newList); synchronized void addElement(T element); synchronized void removeElement(T element); List<T> getEntireList(); int getSize();  }
@Test public void testCircularListGet() { for (long i = 0; i < (long) Integer.MAX_VALUE + 10; i++) { cList.getNextElement(); } }