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/parser/ReportElementState.java
ElementDefn defn = (ElementDefn) element.getDefn( );
		
		int id = defn.getNameSpaceID( );
		assert id != MetaDataConstants.NO_NAME_SPACE;
		String extendsName = element.getExtendsName( );
		if ( StringUtil.isBlank( extendsName ) )
			return;
		DesignElement parent = module.resolveElement( extendsName, id, element
				.getPropertyDefn( IDesignElementModel.EXTENDS_PROP ) );
		if ( parent == null )
		{
			handler.getErrorHandler( ).semanticWarning(
					new ExtendsException( element, extendsName,
							ExtendsException.DESIGN_EXCEPTION_NOT_FOUND ) );
			return;
		}
		try
		{
			assert parent != null;
			element.checkExtends( parent );
		}
		catch ( ExtendsException ex )
		{
			handler.getErrorHandler( ).semanticError( ex );
		}
		element.setExtendsElement( parent );
		element.refreshStructureFromParent( module );
		addTheVirualElementsToNamesapce( element );
	}
	/**