public Type getType() {
    return token.getType();
  }
@Test
  public void testTypeDescriptorNested2() throws Exception {
    TypeRemembererer<String, Integer> remembererer = new TypeRemembererer<String, Integer>() {};
    assertEquals(new TypeToken<String>() {}.getType(), remembererer.descriptor1.getType());
    assertEquals(new TypeToken<Integer>() {}.getType(), remembererer.descriptor2.getType());

    TypeRemembererer<List<String>, Set<Integer>> genericRemembererer =
        new TypeRemembererer<List<String>, Set<Integer>>() {};
    assertEquals(
        new TypeToken<List<String>>() {}.getType(), genericRemembererer.descriptor1.getType());
    assertEquals(
        new TypeToken<Set<Integer>>() {}.getType(), genericRemembererer.descriptor2.getType());
  }