void (UsageInfo @NotNull [] usages) { CommonRefactoringUtil.sortDepthFirstRightLeftOrder(usages); final GrExpression initializer = mySettings.getInitializer(); GrExpression initializerToUse = GrIntroduceHandlerBase.insertExplicitCastIfNeeded(myLocal, mySettings.getInitializer()); for (UsageInfo usage : usages) { GrVariableInliner.inlineReference(usage, myLocal, initializerToUse); } final PsiElement initializerParent = initializer.getParent(); if (initializerParent instanceof GrAssignmentExpression) { initializerParent.delete(); return; } if (initializerParent instanceof GrVariable) { final Collection<PsiReference> all = ReferencesSearch.search(myLocal).findAll(); if (!all.isEmpty()) { initializer.delete(); return; } } final PsiElement owner = myLocal.getParent().getParent(); if (owner instanceof GrVariableDeclarationOwner) { ((GrVariableDeclarationOwner)owner).removeVariable(myLocal); } else { myLocal.delete(); } }