code: @Override
      public Iterator<Object> iterator() {
          return new Iterator<Object>() {
              Iterator<Object> iter = list.listIterator();
  
              @Override
              public boolean hasNext() {
                  return iter.hasNext();
              }
  
              @Override
              public Object next() {
                  return iter.next();
              }
  
              @Override
              public void remove() {
                  iter.remove();
              }
          };
      }
docs: --------------------- Interface Iterable ---------------------