@Deprecated
  public static ImmutableSet<ExecutableElement> getLocalAndInheritedMethods(
      TypeElement type, Elements elementUtils) {
    Overrides overrides = new Overrides.NativeOverrides(elementUtils);
    return getLocalAndInheritedMethods(type, overrides);
  }
Returns the set of all non-private, non-static methods from {@code type}, including methods
that it inherits from its ancestors. Inherited methods that are overridden are not included in
the result. So if {@code type} defines {@code public String toString()}, the returned set will
contain that method, but not the {@code toString()} method defined by {@code Object}.

<p>The returned set may contain more than one method with the same signature, if {@code type}
inherits those methods from different ancestors. For example, if it inherits from unrelated
interfaces {@code One} and {@code Two} which each define {@code void foo();}, and if it does
not itself override the {@code foo()} method, then both {@code One.foo()} and {@code Two.foo()}
will be in the returned set.

<p>The order of the returned set is deterministic: within a class or interface, methods are in
the order they appear in the source code; methods in ancestors come before methods in
descendants; methods in interfaces come before methods in classes; and in a class or interface
that has more than one superinterface, the interfaces are in the order of their appearance in
{@code implements} or {@code extends}.

@param type the type whose own and inherited methods are to be returned
@param elementUtils an {@link Elements} object, typically returned by {@link
    javax.annotation.processing.AbstractProcessor#processingEnv processingEnv}.{@link
    javax.annotation.processing.ProcessingEnvironment#getElementUtils getElementUtils()}
@deprecated The method {@link #getLocalAndInheritedMethods(TypeElement, Types, Elements)} has
    better consistency between Java compilers.
common/src/main/java/com/google/auto/common/MoreElements.java