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
* @return the element reference value is always returned, which contains
	 *         the information of element resolution.
	 */
	public ElementRefValue resolveElementReference( Module module,
			ElementPropertyDefn prop, ElementRefValue value )
	{
		if ( value == null || module == null )
			return (ElementRefValue) value;
		ElementRefValue ref = (ElementRefValue) value;
		if ( ref.isResolved( ) )
			return ref;
		
		
		
		
		
		
		
		
		assert prop.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE
				|| prop.getSubTypeCode( ) == PropertyType.ELEMENT_REF_TYPE;
		ElementRefPropertyType refType = null;
		if ( prop.getTypeCode( ) == PropertyType.ELEMENT_REF_TYPE )
			refType = (ElementRefPropertyType) prop.getType( );
		else
			refType = (ElementRefPropertyType) prop.getSubType( );
		refType.resolve( module, prop, ref );
		if ( ref.isResolved( ) )
			ref.getTargetElement( ).addClient( this, prop.getName( ) );
		return ref;