Kind of odd to throw a `NullPointerException` when they are both non-null. Perhaps an `IllegalArgumentException`?