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/core/DesignElement.java
* Part of: Inheritance system.
	 * 
	 * @param base
	 *            The new parent element, or null if the element is to have no
	 *            base element.
	 */
	public void setExtendsElement( DesignElement base )
	{
		DesignElement oldExtends = getExtendsElement( );
		if ( base == oldExtends )
			return;
		if ( oldExtends != null )
			oldExtends.dropDerived( this );
		if ( base == null )
		{
			extendsRef = null;
		}
		else
		{
			
			assert base.getDefn( ) == getDefn( );
			
			assert base.getName( ) != null;
			String namespace = null;
			Module root = base.getRoot( );
			if ( root instanceof Library )
			{
				namespace = ( (Library) root ).getNamespace( );
			}
			extendsRef = new ElementRefValue( namespace, base );