PsiElement (PsiReference ref, String newName) { PsiElement element = ref.getElement(); if (RenameUtil.isValidName(element.getProject(), element, newName) || element instanceof GrReferenceElement) { return super.processRef(ref, newName); } PsiElement nameElement; if (element instanceof PsiReferenceExpression) { nameElement = ((PsiReferenceExpression)element).getReferenceNameElement(); } else { return null; } TextRange range = nameElement.getTextRange(); Document document = PsiDocumentManager.getInstance(element.getProject()).getDocument(nameElement.getContainingFile()); document.replaceString(range.getStartOffset(), range.getEndOffset(), newName); return null; }