@Override
    @Nullable ExecutableElement getElement(Elements elementUtils) {
      TypeElement enclosingTypeElement = enclosingTypeElementFactory.getElement(elementUtils);
      if (enclosingTypeElement == null) {
        return null;
      }
      ImmutableList<Element> methods = sameNameMethods(enclosingTypeElement, simpleName);
      return asExecutable(methods.get(sameNameIndex));
    }
The index of the element among all elements of the same kind within the enclosing type. If
this is method {@code foo(...)} and the index is 0, that means that the method is the first
method called {@code foo} in the enclosing type.
common/src/main/java/com/google/auto/common/BasicAnnotationProcessor.java