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
* 
	 * @param name
	 *            name of the class to get.
	 * @return the class definition if found.
	 */
	public IClassInfo getClass( String name )
	{
		return (ClassInfo) classes.get( name );
	}
	/**
	 * Adds the class definition to the dictionary.
	 * 
	 * @param classDefn
	 *            the definition of the class to add
	 * @throws MetaDataException
	 *             if the class name is not provided or duplicate.
	 */
	void addClass( ClassInfo classDefn ) throws MetaDataException
	{
		if ( StringUtil.isBlank( classDefn.getName( ) ) )
			throw new MetaDataException(
					MetaDataException.DESIGN_EXCEPTION_MISSING_CLASS_NAME );
		if ( classes.get( classDefn.getName( ) ) != null )
			throw new MetaDataException( new String[]{classDefn.getName( )},
					MetaDataException.DESIGN_EXCEPTION_DUPLICATE_CLASS_NAME );
		classes.put( classDefn.getName( ), classDefn );
	}
	/**
	 * Returns the extension list. Each one is the instance of
	 * {@link IElementDefn}.