@Override
  public <T> Class<T> getClass(PropertyKey key) {
    Object value = get(key);
    if (value instanceof Class) {
      return (Class<T>) value;
    }
    try {
      return (Class<T>) Class.forName((String) value);
    } catch (ClassNotFoundException e) {
      throw new IllegalStateException(
          format("Requested class %s can not be loaded", value));
    }
  }
@Test
  public void getClassTest() { // The name getClass is already reserved.
    mConfiguration.set(PropertyKey.USER_CLIENT_CACHE_EVICTOR_CLASS, "java.lang.String");
    assertEquals(String.class,
        mConfiguration.getClass(PropertyKey.USER_CLIENT_CACHE_EVICTOR_CLASS));
  }