void (@NotNull PsiIfStatement statement) { CodeFragmentEvaluator oldFragmentEvaluator = setNewCodeFragmentEvaluator(); try { PsiStatement thenBranch = statement.getThenBranch(); if (thenBranch == null) return; thenBranch.accept(this); Evaluator thenEvaluator = myResult; PsiStatement elseBranch = statement.getElseBranch(); Evaluator elseEvaluator = null; if (elseBranch != null) { elseBranch.accept(this); elseEvaluator = myResult; } PsiExpression condition = statement.getCondition(); if (condition == null) return; condition.accept(this); myResult = new IfStatementEvaluator(new UnBoxingEvaluator(myResult), thenEvaluator, elseEvaluator); } finally { myCurrentFragmentEvaluator = oldFragmentEvaluator; } }