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.
Anonymous classes are used in many places where lambda expressions and method references would improve readability.