@Override
public Description matchMethod(MethodTree methodTree, VisitorState state) {
// if method is itself annotated with @Inject or it has no ancestor methods, return No_MATCH;
if (!INJECTABLE_METHOD_MATCHER.matches(methodTree, state)
&& OVERRIDE_METHOD_MATCHER.matches(methodTree, state)) {
MethodSymbol method = (MethodSymbol) ASTHelpers.getSymbol(methodTree);
MethodSymbol superMethod = null;
for (boolean checkSuperClass = true; checkSuperClass; method = superMethod) {
superMethod = ASTHelpers.findSuperMethod(method, state.getTypes());
if (isAnnotatedWith(superMethod, GUICE_INJECT_ANNOTATION)) {
return describeMatch(methodTree, SuggestedFix.builder()
.addImport("javax.inject.Inject")