== Why is this an issue? It's common for methods to check the value of their parameters and throw an `IllegalArgumentException` when one of them doesn't match a given condition. Those conditions are usually mentioned in the javadoc of the method. This rule raises an issue when it detects that a method call has an argument which will trigger an `IllegalArgumentException`. === Noncompliant code example [source,java] ---- private void addFirst(Collection collection, String element) { if (collection instanceof List) { ((List) collection).add(0, element); } else { throw new IllegalArgumentException(); } } public void caller() { // Noncompliant: triggers an IllegalArgumentException because HashSet doesn't implement List addFirst(new HashSet<>(), "hello"); } ----