@Test
  public void equalsNullable() throws ReflectiveOperationException {
    EqualsNullable x = EqualsNullable.ofThing("foo");
    Class<? extends EqualsNullable> c = x.getClass();
    Method equals = c.getMethod("equals", Object.class);
    assertThat(equals.getDeclaringClass()).isNotSameInstanceAs(EqualsNullable.class);
    AnnotatedType parameterType = equals.getAnnotatedParameterTypes()[0];
    assertThat(parameterType.isAnnotationPresent(EqualsNullable.Nullable.class)).isTrue();
  }
Tests that a type annotation on the parameter of {@code equals(Object)} is copied into the
implementation class.
value/src/it/functional/src/test/java/com/google/auto/value/AutoOneOfJava8Test.java