Bug 154423 Stack overflow using XML data source
data/org.eclipse.birt.report.data.oda.xml/src/org/eclipse/birt/report/data/oda/xml/util/ui/SchemaPopulationUtil.java
XSModel xsModel = xsLoader.loadURI( uri.toString( ) );
		ATreeNode complexTypesRoot = populateComplexTypeTree( xsModel );
		XSNamedMap map = xsModel.getComponents( XSConstants.ELEMENT_DECLARATION );
		ATreeNode root = new ATreeNode( );
		root.setValue( "ROOT" );
		for ( int i = 0; i < map.getLength( ); i++ )
		{
			ATreeNode node = new ATreeNode( );
			XSElementDecl element = (XSElementDecl) map.item( i );
			node.setValue( element.getName( ) );
			node.setType( ATreeNode.ELEMENT_TYPE );
			node.setDataType( element.getName( ) );
			if ( element.getTypeDefinition( ) instanceof XSComplexTypeDecl )
			{
				XSComplexTypeDecl complexType = (XSComplexTypeDecl) element.getTypeDefinition( );
				
				if ( complexType.getName( ) != null )
				{
					node.setDataType( complexType.getName( ) );
					ATreeNode n = findComplexElement( complexTypesRoot,	complexType.getName( ) );
					if( n!= null)
						node.addChild( n.getChildren( ) );
				}
				
				else
				{
					
					addParticleAndAttributeInfo( node, complexType, complexTypesRoot );
				}
			}