PsiElement (PsiClass owner, PsiElement startElement) { while (startElement != null && !isEnclosingDefinition(owner, startElement)) { if (startElement.getParent() instanceof GroovyFile) { return startElement.getNextSibling(); } startElement = startElement.getParent(); PsiElement parent = startElement.getParent(); if (parent instanceof GroovyFile && ((GroovyFile) parent).getScriptClass() == owner) { return startElement.getNextSibling(); } } return startElement == null ? null : startElement.getNextSibling(); }