What is the benefit for @NonNull to have CLASS retention level over SOURCE?
I've found this old discussion - https://github.com/projectlombok/lombok/issues/895
But it doesn't seem to answer my question.
The coolest thing about Lombok is that it enhances Java language with virtually zero cost to runtime. If I develop, say, a library, I want it to have as few compile/runtime dependencies as possible. And for most part Lombok is great in that regard.
But then there is the @NonNull annotation. Even through the absence of Lombok's jar in the classpath doesn't lead to any critical errors - like in the case of the Github issue linked above - it can still affect the execution. Some annotation processing tools might give a verbose warning (some might even fail, who knows). At the very least there is an overhead of @NonNull annotation being present in the bytecode.
All of the other Lombok annotations seem to have SOURCE retention level. Why does @NonNull need to bring such an inconsistency?