New Annotations Detector + Fixes

New Code  plus Refactoring. Changes might be needed.
All these methods are required because they are implemented as default methods of Java 8. Double check your IDE config to make sure this does not happen in the future. It's fine if we leave it for now, we should just push for the deadline and do a proper refactoring later. Add a TODO to not forget. (or an issue perhaps)