``` @Nonnull public static <T> Iterab...
# stdlib
d
Copy code
@Nonnull
    public static <T> Iterable<T> reverseIteration(List<T> list) {
        if (list.isEmpty()) {
            return Collections.emptyList();
        }
        return () -> new Iterator<T>() {
            @Nonnull
            ListIterator<T> innerIterator = list.listIterator(list.size());

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

            @Override
            public T next() {
                return innerIterator.previous();
            }

            @Override
            public void remove() {
                innerIterator.remove();
            }
        };
    }
Can be replaced by
CollectionsKt.asReversed(list)