void (@NotNull PsiElement startElement, @NotNull MultiMap<PsiElement, String> conflicts, @NotNull String varName, double startOffset) { PsiElement child = startElement.getFirstChild(); while (child != null) { // Do not check defined classes, methods, closures and blocks before if (child instanceof GrTypeDefinition || child instanceof GrMethod || GroovyRefactoringUtil.isAppropriateContainerForIntroduceVariable(child) && child.getTextRange().getEndOffset() < startOffset) { myReporter.check(child, conflicts, varName); child = child.getNextSibling(); continue; } if (child instanceof GrVariable) { myReporter.check(child, conflicts, varName); } validateOccurrencesDown(child, conflicts, varName, startOffset); child = child.getNextSibling(); } }