@Test
  public void processingStepAsStepAnnotationsNamesMatchClasses() {
    Step step = BasicAnnotationProcessor.asStep(new MultiAnnotationProcessingStep());

    assertThat(step.annotations())
        .containsExactly(
            AnAnnotation.class.getCanonicalName(), ReferencesAClass.class.getCanonicalName());
  }
In the following example, at least open-jdk does not report the second method if {@code
SomeGeneratedClass} references a {@link TypeKind#ERROR} when {@link
RoundEnvironment#getElementsAnnotatedWith} is called, or even when {@link
TypeElement#getEnclosedElements()} is called. Therefore, our implementation should be vigilant
that the second method is captured for processing at some point.

<p>Note that for a method to get "hidden" like this, it should reside after the ERROR
referencing method, and it should not have any distinguishing characteristic like different
name, different number of parameter, or a clear parameter type mismatch.
common/src/test/java/com/google/auto/common/BasicAnnotationProcessorTest.java