I'm using the @DefaultAnnotationForParameters(value = CheckForNull.class) for my package. I've found that if an interface has its parameters annotated this way, but the implementation has one of the parameters tagged @javax.annotation.Nonnull then I get the non-obvious error: "$L1 must be nonnull but is marked as nullable"
The error is marked on line 1 of the file.
I think that a better error message would be appropriate here. It took me some time to figure out what this error was about. :)
For those who get here via google - you can solve it by marking the interface parameter @Nonnull or removing the @Nonnull from the implementation method.