### Question:
LazyList implements List<E> { @Override public boolean containsAll(final Collection<?> c) { return getData().containsAll(c); } LazyList(final MinijaxBaseTypedQuery<E> query); @Override boolean isEmpty(); @Override boolean contains(final Object o); @Override Iterator<E> iterator(); @Override boolean add(final E e); @Override boolean containsAll(final Collection<?> c); @Override boolean addAll(final Collection<? extends E> c); @Override boolean addAll(final int index, final Collection<? extends E> c); @Override void clear(); @Override boolean equals(final Object o); @Override int hashCode(); @Override E get(final int index); @Override void add(final int index, final E element); @Override void forEach(final Consumer<? super E> arg0); @Override int indexOf(final Object o); @Override int lastIndexOf(final Object o); @Override ListIterator<E> listIterator(); @Override ListIterator<E> listIterator(final int index); @Override Stream<E> parallelStream(); @Override int size(); @Override boolean remove(final Object o); @Override boolean removeAll(final Collection<?> c); @Override boolean retainAll(final Collection<?> c); @Override E remove(final int index); @Override boolean removeIf(final Predicate<? super E> arg0); @Override Object[] toArray(); @Override T[] toArray(final T[] a); @Override void replaceAll(final UnaryOperator<E> operator); @Override void sort(final Comparator<? super E> c); @Override E set(final int index, final E element); @Override Spliterator<E> spliterator(); @Override Stream<E> stream(); @Override List<E> subList(final int fromIndex, final int toIndex);  }### Answer:
@Test public void testContainsAll() { final LazyList<String> list = new LazyList<>(new MockQuery<>("foo", "bar")); assertTrue(list.containsAll(Arrays.asList("foo", "bar"))); assertFalse(list.containsAll(Arrays.asList("foo", "bar", "baz"))); }