Small point of formatting.  I tend to dislike breaking methods mid-call-chain, so I might do 

```
    return new Description(classTree, getDiagnosticMessage(), new SuggestedFix()
        .addImport("javax.lang.annotation.Target")
        .addStaticImport("javax.lang.annotation.ElementType.TYPE")
        .addStaticImport("javax.lang.annotation.ElementType.METHOD")
        .prefixWith(clasTree, "@Target({TYPE, METHOD})\n"));
```

It seems to break more cleanly.