JetBrainsNotNullInstrumentationExceptionInfo (int offset, @NotNull @NonNls String exceptionClassName, @NotNull @NonNls String exceptionMessage) { if (!exceptionClassName.equals("java.lang.IllegalArgumentException")) return null; if (!exceptionMessage.startsWith("Argument ")) return null; Matcher matcher = INSTRUMENTATION_MESSAGE_PATTERN.matcher(exceptionMessage); if (!matcher.matches()) return null; String parameterName = matcher.group(1); String className = matcher.group(2); String methodName = matcher.group(3); return new JetBrainsNotNullInstrumentationExceptionInfo(offset, exceptionClassName, exceptionMessage, parameterName, className, methodName, 2); }