void (@NotNull PsiForStatement statement) { final PsiForStatement other = (PsiForStatement)myMatchingVisitor.getElement(); final PsiStatement initialization = statement.getInitialization(); if (!myMatchingVisitor.setResult(initialization == null || initialization instanceof PsiEmptyStatement ? myMatchingVisitor.isLeftLooseMatching() : myMatchingVisitor.matchSequentially(getIterator(initialization), getIterator(other.getInitialization())))) { return; } if (!myMatchingVisitor.setResult(myMatchingVisitor.matchOptionally(statement.getCondition(), other.getCondition()))) { return; } final PsiStatement update = statement.getUpdate(); if (!myMatchingVisitor.setResult(update == null ? myMatchingVisitor.isLeftLooseMatching() : myMatchingVisitor.matchSequentially(getIterator(update), getIterator(other.getUpdate())))) { return; } myMatchingVisitor.setResult(matchBody(statement.getBody(), other.getBody())); }