Bug 153040 Template definition should be removed after the report item is deleted
Steps to reproduce: 1.New a report, extends lib.label 2.Convert the label to template report item, and revert it back to the report item 3.Delete the label 4.Remove the included library Expected result: Library can be removed Actual result: A BIRT exception occurred. Plug-in Provider:Eclipse.org Plug-in Name:BIRT Model Plug-in ID:org.eclipse.birt.report.model Version:2.1.0.v20060808-0630 Error Code:Error.LibraryException.LIBRARY_HAS_DESCENDENTS Error Message:The library "Lib" can no be dropped because it has descendents "NewLabel" in the current module.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/metadata/MetaDataDictionary.java
{
		
		
		style = (ElementDefn) getElement( MetaDataConstants.STYLE_NAME );
		if ( style == null )
			throw new MetaDataException(
					MetaDataException.DESIGN_EXCEPTION_STYLE_TYPE_MISSING );
		style.build( );
		
		ElementDefn report = (ElementDefn) getElement( ReportDesignConstants.REPORT_DESIGN_ELEMENT );
		if ( report == null )
			throw new MetaDataException( MetaDataException.DESIGN_EXCEPTION_CONSTRUCTOR_EXISTING );
		report.build( );
		
		Iterator iter = elementNameMap.values( ).iterator( );
		while ( iter.hasNext( ) )
		{
			( (ElementDefn) iter.next( ) ).build( );
		}
	}
	/**
	 * Private method to build the structure definitions.
	 * 
	 * @throws MetaDataException
	 */
	private void buildStructures( ) throws MetaDataException
	{
		Iterator iter = structures.values( ).iterator( );
		while ( iter.hasNext( ) )
		{