### Question:
Collection extends jsimple.lang.Iterable<E> { public boolean add(E object) { throw new ProgrammerError("add is not supported for this kind of collection"); } protected  Collection(); boolean add(E object); boolean addAll(Collection<? extends E> collection); void clear(); boolean contains(E object); boolean containsAll(Collection<E> collection); boolean isEmpty(); @Override abstract Iterator<E> iterator(); boolean remove(E object); boolean removeAll(Collection<E> collection); boolean retainAll(Collection<E> collection); abstract int size(); Object[] toArray(); void toArray(E[] contents); @Override String toString();  }### Answer:
@Test public void testAddObject() { Collection<Object> ac = new TestAddObjectCollection(this); try { ac.add(null); } catch (ProgrammerError e) { } }