static MethodSignature asMemberOf(Types typeUtils, DeclaredType in, ExecutableElement method) {
    return new MethodSignature(
        asExecutable(method.asType()), asExecutable(typeUtils.asMemberOf(in, method)));
  }
Represents the signature of a method: the types of its parameters and of its return value. The
types in question are represented using {@link AnnotatedTypeMirror}, which is a {@link
TypeMirror} and associated type annotations.
value/src/main/java/com/google/auto/value/processor/MethodSignature.java