public class RoundIterator implements Iterator<T> {
        Iterator<T> iterator = Solution.super.iterator();
        int ind = 0;

        @Override
        public boolean hasNext() {
            return iterator.hasNext();
        }

        @Override
        public T next() {
            try{
                ind++;
                return iterator.next();
            }catch (Exception e){
                ind = 0;
                iterator = Solution.super.iterator();
                return iterator.next();
            }
        }

        @Override
        public void remove() {
            iterator.remove();
        }

        public Iterator<T> iterator() {
            return new RoundIterator();
        }
    }