ComplexAssignment (PsiStatement @NotNull [] statements, @NotNull PsiVariable nullCheckedExtremum) { if (statements.length != 2) return null; PsiStatement first = statements[0]; PsiStatement second = statements[1]; ComplexAssignment assignment = extract(first, second, nullCheckedExtremum); if (assignment != null) return assignment; return extract(second, first, nullCheckedExtremum); }