List<TypeDefinitionContainer> result = new ArrayList<TypeDefinitionContainer>();
for (Object obj : json) {
if (obj instanceof Map) {
Map<String, Object> jsonContainer = (Map<String, Object>) obj;
TypeDefinitionContainerImpl container = new TypeDefinitionContainerImpl();
container.setTypeDefinition(convertTypeDefinition(getMap(jsonContainer.get(JSON_TYPESCONTAINER_TYPE))));
Object children = jsonContainer.get(JSON_TYPESCONTAINER_CHILDREN);
if (children instanceof List) {
container.setChildren(convertTypeDescendants((List<Object>) children));
} else {
container.setChildren((List<TypeDefinitionContainer>) Collections.EMPTY_LIST);
}
convertExtension(jsonContainer, container, TYPESCONTAINER_KEYS);
result.add(container);