Bug 138562 Splite extendsexcpetion to seperate sub class
The suggestion is Parent invalid Cycle extends Different type extends Not top level extends
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/ElementFactory.java
{
		DesignElementHandle childElement = null;
		if ( baseElement instanceof ExtendedItemHandle )
		{
			String extensionName = baseElement
					.getStringProperty( ExtendedItem.EXTENSION_NAME_PROP );
			childElement = newExtendedItem( name, extensionName,
					(ExtendedItemHandle) baseElement );
			childElement.getElement( ).refreshStructureFromParent( module );
		}
		else
		{
			childElement = newElement( baseElement.getElement( )
					.getElementName( ), name );
			
			
			if ( childElement.getElement( ) instanceof IOdaExtendableElementModel )
			{
				String extensionId = (String) baseElement
						.getProperty( IOdaExtendableElementModel.EXTENSION_ID_PROP );
				childElement.getElement( ).setProperty(
						IOdaExtendableElementModel.EXTENSION_ID_PROP,
						extensionId );
			}
			childElement.setExtends( baseElement );
			childElement.getElement( ).refreshStructureFromParent( module );
			renameForVirtualElements( childElement.getElement( ) );
		}
		return childElement;
	}