protected Object[] getXSDElementDeclarationChildren_TypeDef(XSDElementDeclaration parent) { ArrayList<Object> list = new ArrayList<Object>(); if (parent.getTypeDefinition() == null) { return new Object[0]; // elements with not type declaration } // handle extensions and restrictions directly if (parent.getTypeDefinition() instanceof XSDComplexTypeDefinition) { list.addAll( Util.getComplexTypeDefinitionChildren( (XSDComplexTypeDefinition) parent.getTypeDefinition(), true)); } else { list.addAll( Util.getSimpleTypeDefinitionChildren( (XSDSimpleTypeDefinition) parent.getTypeDefinition())); } return list.toArray(); }