The code still contains concepts that were used long before Java 8 in many places. Some of these can or should now be replaced by other constructs.
In many places, there are modifiers that do not belong there.
- final modifier in final classes are redundant
- proteced modifier in final classes are useless
- final modifier on static or private methods are useless