@SuppressWarnings("unchecked")
@Test
public void testRecursiveCollections() throws Exception {
Method m = CollectionService.class.getMethod("getStringCollections", new Class[0]);
Type type = creator.createType(m, -1);
tm.register(type);
assertTrue(type instanceof CollectionType);
CollectionType colType = (CollectionType)type;
QName componentName = colType.getSchemaType();
assertEquals("ArrayOfArrayOfString", componentName.getLocalPart());
type = colType.getComponentType();
assertNotNull(type);
assertTrue(type instanceof CollectionType);
CollectionType colType2 = (CollectionType)type;
componentName = colType2.getSchemaType();
assertEquals("ArrayOfString", componentName.getLocalPart());
type = colType2.getComponentType();
assertTrue(type.getTypeClass().isAssignableFrom(String.class));
}