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/command/ContentCommand.java
*            status whether to un-resolve the references or set the
	 *            reference to null
	 * @throws SemanticException
	 *             if the old element cannot be replaced by the new element into
	 *             this container.
	 */
	private void doReplace( DesignElement oldElement, DesignElement newElement,
			int slotID, boolean unresolveReference ) throws SemanticException
	{
		assert newElement.getContainer( ) == null;
		
		ElementDefn metaData = (ElementDefn) element.getDefn( );
		if ( !metaData.isContainer( ) )
			throw new ContentException( element, slotID,
					ContentException.DESIGN_EXCEPTION_NOT_CONTAINER );
		SlotDefn slotInfo = (SlotDefn) metaData.getSlot( slotID );
		if ( slotInfo == null )
			throw new ContentException( element, slotID,
					ContentException.DESIGN_EXCEPTION_SLOT_NOT_FOUND );
		if ( !slotInfo.canContain( newElement ) )
			throw new ContentException( element, slotID, newElement,
					ContentException.DESIGN_EXCEPTION_WRONG_TYPE );
		
		if ( element.isContentOf( newElement ) )
			throw new ContentException( element, slotID, newElement,
					ContentException.DESIGN_EXCEPTION_RECURSIVE );
		if ( slotID == Module.COMPONENT_SLOT )
		{
			if ( StringUtil.isBlank( newElement.getName( ) ) )
				throw new ContentException( element, slotID, newElement,