### Question:
NullPaddedList extends PagedList<Type> { @Override public Type get(int index) { if (index < 0 || index >= size()) { throw new IndexOutOfBoundsException(); } index -= mLeadingNullCount; if (index < 0) { return null; } if (index >= mList.size()) { return null; } return mList.get(index); } NullPaddedList();   NullPaddedList(int leadingNullCount, List<Type> list, int trailingNullCount);   NullPaddedList(int leadingNullCount, int totalCount, List<Type> list);   NullPaddedList(int positionOffset, List<Type> list);   NullPaddedList(NullPaddedList<Type> other); @Override String toString(); @Override Type get(int index); @Override void loadAround(int index); @Override final int size(); boolean isImmutable(); @Override PagedList<Type> snapshot(); @Override void addWeakCallback(@Nullable PagedList<Type> previousSnapshot,
            @NonNull Callback callback); @Override void removeWeakCallback(Callback callback); @Override int getPositionOffset(); int getLoadedCount(); int getLeadingNullCount(); int getTrailingNullCount();  }### Answer:
@Test(expected = IndexOutOfBoundsException.class) public void getEmpty() { NullPaddedList<String> list = new NullPaddedList<>(0, new ArrayList<String>(), 0); list.get(0); }
@Test(expected = IndexOutOfBoundsException.class) public void getNegative() { NullPaddedList<String> list = new NullPaddedList<>(0, Arrays.asList("a", "b"), 0); list.get(-1); }
@Test(expected = IndexOutOfBoundsException.class) public void getPastEnd() { NullPaddedList<String> list = new NullPaddedList<>(0, Arrays.asList("a", "b"), 0); list.get(2); }