### Question:
ComponentList implements Iterable<Component> { public void registerListener(@NotNull Object vmToListen) { Validate.notNull(vmToListen); listeningVms.add(vmToListen); }  void renew(List<Component> components); List<Component> getList(); void add(Component component); void remove(Component component); void componentsUpdated(); void registerListener(@NotNull Object vmToListen); @Override Iterator<Component> iterator();  }### Answer:
@Test(expectedExceptions = IllegalArgumentException.class) public void shouldThrowIfNullWasRegisteredForNotification() { sut.registerListener(null); }