PsiAnnotationMemberValue () { PsiNameValuePairStub stub = getStub(); if (stub != null) { String text = stub.getValue(); PsiAnnotationMemberValue result = dereference(myDetachedValue); if (result == null) { PsiAnnotation anno = JavaPsiFacade.getElementFactory(getProject()).createAnnotationFromText("@F(" + text + ")", this); ((LightVirtualFile)anno.getContainingFile().getViewProvider().getVirtualFile()).setWritable(false); myDetachedValue = new SoftReference<>(result = anno.findAttributeValue(null)); } return result; } return getValue(); }