Inconsistent contract management
Using Design by Contract and the proper annotations should be encouraged. Adding @NonNullByDefault on class level makes all methods, parameters, fields, etc to be non-null by default. Hence, the @pre annotation mentioning that some parameter cannot be null is redundant.
With the correct IDE setup possible null values are shown as errors/warnings. If a contract is documented, you have to assume it is fulfilled.