final Editor editor = CodeInsightUtil.positionCursor(project, psiFile, myClass.getLBrace());
if (editor != null) {
new WriteCommandAction(project, psiFile) {
protected void run(Result result) throws Throwable {
final PsiElementFactory psiElementFactory = JavaPsiFacade.getInstance(myClass.getProject()).getElementFactory();
final PsiField psiField = psiElementFactory.createField(myName, myType);
final PsiModifierList modifierList = psiField.getModifierList();
if (null != modifierList) {
for (@Modifier String modifier : myModifiers) {
modifierList.setModifierProperty(modifier, true);
}
}
if (null != myInitializerText) {
PsiExpression psiInitializer = psiElementFactory.createExpressionFromText(myInitializerText, psiField);
psiField.setInitializer(psiInitializer);
}
final List<PsiGenerationInfo<PsiField>> generationInfos = GenerateMembersUtil.insertMembersAtOffset(myClass.getContainingFile(), editor.getCaretModel().getOffset(),
Collections.singletonList(new PsiGenerationInfo<PsiField>(psiField)));