GrAnnotation () { GrAnnotation annotation = dereference(myPsiRef); if (annotation != null) { return annotation; } try { annotation = GroovyPsiElementFactory.getInstance(getProject()).createAnnotationFromText(myText, getPsi()); myPsiRef = new SoftReference<>(annotation); return annotation; } catch (IncorrectOperationException e) { LOG.error("Bad annotation in repository!", e); return null; } }