IllegalNotNullArgumentException extends RuntimeException implements IllegalArgumentHolder<Object> { @Override public Object getIllegalArgument() { return illegalArgumentValue; } IllegalNotNullArgumentException(@Nonnull final Object illegalArgumentValue);  IllegalNotNullArgumentException(@Nonnull final Object illegalArgumentValue, @Nullable final Throwable cause);  IllegalNotNullArgumentException(@Nullable final String argumentName, @Nonnull final Object illegalArgumentValue);  IllegalNotNullArgumentException(@Nullable final String argumentName, @Nonnull final Object illegalArgumentValue,
			@Nullable final Throwable cause); @Override Object getIllegalArgument();  }
@Test public void testGetIllegalArgument() { final ArrayList<Integer> lst = new ArrayList<Integer>(); lst.add(Integer.valueOf(42)); final IllegalArgumentHolder<Object> iah = new IllegalNotNullArgumentException(lst); Assert.assertEquals(lst, iah.getIllegalArgument()); }