CauseItem (boolean ignoreAssertions, PsiExpression expression, DfaProblemType type) { PsiElement body = DfaUtil.getDataflowContext(expression); if (body == null) return null; TrackingRunner runner = new TrackingRunner(body, expression, ignoreAssertions); if (!runner.analyze(expression, body)) return null; return runner.findProblemCause(expression, type); }