protected void addModels(EpoxyModel<?>... modelsToAdd) {
    int initialSize = models.size();
    int numModelsToAdd = modelsToAdd.length;

    ((ModelList) models).ensureCapacity(initialSize + numModelsToAdd);

    pauseModelListNotifications();
    Collections.addAll(models, modelsToAdd);
    resumeModelListNotifications();

    notifyItemRangeInserted(initialSize, numModelsToAdd);
  }
@Test
  public void testAddModels() {
    List<TestModel> list = new ArrayList<>();
    list.add(new TestModel());
    list.add(new TestModel());

    testAdapter.addModels(list);
    verify(observer).onItemRangeInserted(0, 2);
    assertEquals(2, testAdapter.models.size());

    List<TestModel> list2 = new ArrayList<>();
    list2.add(new TestModel());
    list2.add(new TestModel());
    testAdapter.addModels(list2);
    verify(observer).onItemRangeInserted(2, 2);
    assertEquals(4, testAdapter.models.size());

    checkDifferState();
  }