For parameter types, favor interfaces over classes
es.uniovi.reflection.analyses.bloch.7.40.2
This rule detects public method or constructor definitions in which the type of one of its parameters implements a interface that can be interchanged for the type. This interface should define all the methods and fields used in the body of the method. The change should not affect the rest of the implementation (those regarding lvalue types in assignments and method invocations where the parameter is passed as argument), but may generate small errors that could be solved with easy fixes.