assertThat(type, instanceOf(java.lang.reflect.ParameterizedType.class));
java.lang.reflect.Type p =
((java.lang.reflect.ParameterizedType) type).getActualTypeArguments()[0];
assertThat(p, instanceOf(WildcardType.class));
WildcardType w = (WildcardType) p;
assertThat(w.getLowerBounds().length, is(1));
assertThat(w.getLowerBounds()[0], is((java.lang.reflect.Type) CharSequence.class));
assertThat(w.getUpperBounds().length, is(1));
assertThat(w.getUpperBounds()[0], is((java.lang.reflect.Type) Object.class));
}