Fix PMD warnings
Validate variable types
Analyse variables as soon as possible
Add @Nullable/@Nonnull