diff --git a/platform/util/src/com/intellij/util/containers/NotNullList.java b/platform/util/src/com/intellij/util/containers/NotNullList.java index ea0407f32e05..9177a1e2efc0 100644 --- a/platform/util/src/com/intellij/util/containers/NotNullList.java +++ b/platform/util/src/com/intellij/util/containers/NotNullList.java @@ -35,6 +35,7 @@ public class NotNullList extends ArrayList { public NotNullList(@NotNull Collection c) { super(c); + checkNotNullCollection(c); } @Override @@ -58,14 +59,20 @@ public class NotNullList extends ArrayList { return super.set(index, element); } - private void checkNotNullCollection(Collection c) { + @Override + @NotNull + public E get(int index) { + return super.get(index); + } + + private void checkNotNullCollection(@NotNull Collection c) { for (E e : c) { if (e == null) throw new IllegalArgumentException("null element in the collection: "+c); } } @Override - public boolean addAll(int index, Collection c) { + public boolean addAll(int index, @NotNull Collection c) { checkNotNullCollection(c); return super.addAll(index, c); } @@ -76,6 +83,7 @@ public class NotNullList extends ArrayList { final List subList = super.subList(fromIndex, toIndex); return new AbstractList() { @Override + @NotNull public E get(int index) { return subList.get(index); }