code: public static <T> Iterable<T> reverse(final List<T> lst) {
          return new Iterable<T>() {
              public Iterator<T> iterator() {
                  final ListIterator<T> itr = lst.listIterator(lst.size());
                  return new Iterator<T>() {
                      public boolean hasNext() {
                          return itr.hasPrevious();
                      }
  
                      public T next() {
                          return itr.previous();
                      }
  
                      public void remove() {
                          itr.remove();
                      }
                  };
              }
          };
      }
docs: Returns the {@link Iterable} that lists items in the reverse order.
  
  @since 1.150