@Test
  public void outerWithTypeParam() throws ReflectiveOperationException {
    @SuppressWarnings("UseDiamond") // Currently we compile this with -source 6 in the Eclipse test.
    OuterWithTypeParam<Double> outer = new OuterWithTypeParam<Double>();
    Nesty nesty =
        Nesty.builder()
            .setInnerWithTypeParam(outer.new InnerWithTypeParam<String>())
            .setInnerWithoutTypeParam(outer.new InnerWithoutTypeParam())
            .setNested(new OuterWithTypeParam.Nested())
            .build();
    Type originalReturnType =
        Nesty.class.getDeclaredMethod("innerWithTypeParam").getGenericReturnType();
    Type generatedReturnType =
        nesty.getClass().getDeclaredMethod("innerWithTypeParam").getGenericReturnType();
    assertThat(generatedReturnType).isEqualTo(originalReturnType);
    Type generatedBuilderParamType =
        Nesty.builder()
            .getClass()
            .getDeclaredMethod("setInnerWithTypeParam", OuterWithTypeParam.InnerWithTypeParam.class)
            .getGenericParameterTypes()[0];
    assertThat(generatedBuilderParamType).isEqualTo(originalReturnType);
  }
Notice that this is called ReleaseInfoBuilder and not Builder.
value/src/it/functional/src/test/java/com/google/auto/value/AutoValueTest.java