Returns true if the method is eligible to be injected. This is different than
#isValidMethod, because ineligibility will not drop a method from being injected if a
superclass was eligible & valid. Bridge & synthetic methods are excluded from eligibility for
two reasons:
Prior to Java8, javac would generate these methods in subclasses without annotations, which
means this would accidentally stop injecting a method annotated with
javax.inject.Inject, since the spec says to stop injecting if a subclass isn't annotated with
it.
Starting at Java8, javac copies the annotations to the generated subclass method, except it
leaves out the generic types. If this considered it a valid injectable method, this would eject
the parent's overridden method that had the proper generic types, and would use invalid
injectable parameters as a result.
The fix for both is simply to ignore these synthetic bridge methods.