lib-manipulation/src/main/java/com/nhaarman/listviewanimations/itemmanipulation/DynamicListView.java
public <T> void insert(@NonNull final Pair<Integer, T>... indexItemPairs) {
        if (mAnimateAdditionAdapter == null) {
            throw new IllegalStateException("Adapter should implement Insertable!");
        }
        ((AnimateAdditionAdapter<T>) mAnimateAdditionAdapter).insert(indexItemPairs);
    }
public <T> void insert(@NonNull final Pair<Integer, T>... indexItemPairs) {
        if (mAnimateAdditionAdapter == null) {
            throw new IllegalStateException("Adapter should implement Insertable!");
        }
        ((AnimateAdditionAdapter<T>) mAnimateAdditionAdapter).insert(indexItemPairs);
    }
Inserts items at given indexes. Will show an entrance animation for the new items if the newly added item is visible.
Will also call {@link Insertable#add(int, Object)} of the root {@link android.widget.BaseAdapter}.

@param indexItemPairs the index-item pairs to insert. The first argument of the {@code Pair} is the index, the second argument is the item.

@throws java.lang.IllegalStateException if the adapter that was set does not implement {@link com.nhaarman.listviewanimations.util.Insertable}.