public Type getType() {
    return token.getType();
  }
@Test
  public void testTypeDescriptorNested() throws Exception {
    TypeRememberer<String> rememberer = new TypeRememberer<String>() {};
    assertEquals(new TypeToken<String>() {}.getType(), rememberer.descriptorByClass.getType());
    assertEquals(new TypeToken<String>() {}.getType(), rememberer.descriptorByInstance.getType());

    TypeRememberer<List<String>> genericRememberer = new TypeRememberer<List<String>>() {};
    assertEquals(
        new TypeToken<List<String>>() {}.getType(), genericRememberer.descriptorByClass.getType());
    assertEquals(
        new TypeToken<List<String>>() {}.getType(),
        genericRememberer.descriptorByInstance.getType());
  }