ContractData (@Nullable PsiAnnotation existingAnno) { ContractData data = new ContractData(); if (existingAnno != null) { data.contract = AnnotationUtil.getStringAttributeValue(existingAnno, "value"); data.impure = !Boolean.TRUE.equals(AnnotationUtil.getBooleanAttributeValue(existingAnno, "pure")); data.mutates = AnnotationUtil.getStringAttributeValue(existingAnno, "mutates"); } return data; }