String (@NotNull PsiReferenceExpression expression, boolean skipUnresolved) { String propertyName = expression.getReferenceName(); if (propertyName == null) return null; PsiElement refElement = expression.resolve(); if (refElement instanceof PsiVariable) { VariableKind refVariableKind = getVariableKind((PsiVariable)refElement); return variableNameToPropertyName(propertyName, refVariableKind); } else if (refElement == null && skipUnresolved) { return null; } else { return propertyName; } }