try { synchronized ( this ) { wait( ); } } catch ( InterruptedException e ) {  e.printStackTrace( ); }
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance( ); factory.setNamespaceAware( true ); DocumentBuilder builder = factory.newDocumentBuilder( );  Document document = builder.parse( fileName );  NodeList nodes = document.getChildNodes( ); ATreeNode root = new ATreeNode( ); root.setValue( "ROOT" ); populateNodeList( nodes, root, 0 ); populateRoot( root ); return root;
	public ATreeNode getSchemaTree( String fileName )	{		sp = new SaxParser( fileName, this );		Thread spThread = new Thread( sp );		spThread.start( );		while( sp.isAlive() )		{			try			{				synchronized ( this )				{					wait( );				}			}			catch ( InterruptedException e )			{				// TODO Auto-generated catch block				e.printStackTrace( );			}		}				populateRoot( root );				return root;	}