@Override
  public boolean removeAll(Collection<?> collection) {
    // Using this implementation from the Android ArrayList since the Java 1.8 ArrayList
    // doesn't call through to remove. Calling through to remove lets us leverage the notification
    // done there
    boolean result = false;
    Iterator<?> it = iterator();
    while (it.hasNext()) {
      if (collection.contains(it.next())) {
        it.remove();
        result = true;
      }
    }
    return result;
  }
@Test
  public void testRemoveAll() {
    List<EpoxyModel<?>> modelsToRemove = new ArrayList<>();
    modelsToRemove.add(modelList.get(0));
    modelsToRemove.add(modelList.get(1));

    modelList.removeAll(modelsToRemove);
    verify(observer, times(2)).onItemRangeRemoved(0, 1);
  }