ImmutableList<AnnotatedTypeMirror> parameterTypes() {
    return IntStream.range(0, originalMethod.getParameterTypes().size())
        .mapToObj(
            i ->
                new AnnotatedTypeMirror(
                    originalMethod.getParameterTypes().get(i),
                    rewrittenMethod.getParameterTypes().get(i)))
        .collect(toImmutableList());
  }
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