void (@NotNull PsiUnaryExpression expression) { PsiExpression operand = expression.getOperand(); final IElementType tokenType = expression.getOperationSign().getTokenType(); if (isBackpointerReference(operand) && (tokenType.equals(JavaTokenType.PLUSPLUS) || tokenType.equals(JavaTokenType.MINUSMINUS))) { while (operand instanceof PsiParenthesizedExpression) { operand = ((PsiParenthesizedExpression)operand).getExpression(); } final PsiReferenceExpression reference = (PsiReferenceExpression)operand; final String operator; if (tokenType.equals(JavaTokenType.PLUSPLUS)) { operator = "+"; } else { operator = "-"; } final PsiField field = (PsiField)reference.resolve(); assert field != null; if (!field.hasModifierProperty(PsiModifier.STATIC)) { out.append(backPointerName) .append('.').append(GenerateMembersUtil.suggestSetterName(field)) .append('(') .append(backPointerName) .append('.').append(GenerateMembersUtil.suggestGetterName(field)) .append("()") .append(operator) .append("1)"); } else { visitElement(expression); } } else { visitElement(expression); } }