public void setInitializer(@Nullable PsiExpression psiExpression) throws IncorrectOperationException { GrExpression oldInitializer = getInitializerGroovy(); if (psiExpression == null) { if (oldInitializer != null) { oldInitializer.delete(); PsiElement assign = findChildByType(GroovyTokenTypes.mASSIGN); if (assign != null) { assign.delete(); } } return; } GrExpression newInitializer = GroovyPsiElementFactory.getInstance(getProject()) .createExpressionFromText(psiExpression.getText()); if (oldInitializer != null) { oldInitializer.replaceWithExpression(newInitializer, true); } else { getNode().addLeaf(GroovyTokenTypes.mASSIGN, "=", getNode().getLastChildNode()); addAfter(newInitializer, getLastChild()); } }