Чому компілятор не пропускає якщо написати ListIterator< H> listIterator = sourceList.listIterator(); Чому потрібно двічі писати: ? extends H? Там де ? super H зрозуміло, про це писали у лекції, але ж тут можна виконати upcast