import java.util.List; import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Predicate; class ListOps { static List append(List list1, List list2) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } static List concat(List> listOfLists) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } static List filter(List list, Predicate predicate) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } static int size(List list) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } static List map(List list, Function transform) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } static List reverse(List list) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } static U foldLeft(List list, U initial, BiFunction f) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } static U foldRight(List list, U initial, BiFunction f) { throw new UnsupportedOperationException("Delete this statement and write your own implementation."); } private ListOps() { // No instances. } }