Verify warnings

When I run ‘mvn validate’ on openhab-core, I get warnings like this:
[WARNING] /home/steve/Projects/openhab/openhab-core/bundles/org.openhab.core/src/main/java/org/eclipse/smarthome/core/common/registry/[75,2517] Null type mismatch (type annotations): 'null' is not compatible to the free type variable 'E'

In there are two functions like this
private void notifyListeners(E oldElement, E element, EventType eventType) {

private void notifyListeners(E element, EventType eventType) {
notifyListeners(null, element, eventType);
So I guessed that somewhere type E has been declared @Nonnullable. I tried to fix this by changing the 1st function to:
private void notifyListeners(@nullable E oldElement, E element, EventType eventType) {
which turned the warning into this INFO msg
[INFO] /home/steve/Projects/openhab/openhab-core/bundles/org.openhab.core/src/main/java/org/eclipse/smarthome/core/internal/scheduler/[55,2011] Unsafe interpretation of method return type as '@NonNull' based on the receiver type 'Iterator<@NonNull ScheduledCompletableFuture<?>>'. Type 'Iterator<E>' doesn't seem to be designed with null type annotations in mind

and eventually an error:
[ERROR] /home/steve/Projects/openhab/openhab-core/bundles/org.openhab.core/src/main/java/org/eclipse/smarthome/core/common/registry/[51,1500] nullable cannot be resolved to a type

So what is the “correct” way to get rid of the warnings? This is just one example out of many.
I’m a java novice so go easy on me::man_student:

The problem is that openHAB core is not consistently null annotated. The reason is that openHAB core has API promises and cannot break old APIs. That will change with OH3 only.

If you encounter an interface or class that is not annotated, you usually use @NonNullByDefault({}) on the implemented interface methods to disable null checking.

So if I’m understanding you, this can’t be fixed until OH3 because fixed this breaks something else?