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
* 
	 * @param propName
	 *            The internal name of the user-defined property.
	 * @return The property definition, if found, null otherwise.
	 */
	public UserPropertyDefn getUserPropertyDefn( String propName )
	{
		DesignElement e = this;
		while ( e != null )
		{
			UserPropertyDefn p = e.getLocalUserPropertyDefn( propName );
			if ( p != null )
				return p;
			e = e.getExtendsElement( );
		}
		return null;
	}
	/**
	 * Gets the cached parent element. There will be no parent if either 1) the
	 * element does not extend from another user-defined element, or 2) the
	 * extends element is undefined.
	 * <p>
	 * Part of: Inheritance system.
	 * 
	 * @return parent element
	 */
	public DesignElement getExtendsElement( )
	{
		if ( extendsRef == null )
			return null;