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/command/ExtendsCommand.java
*            the validated <code>ElementRefValue</code>
	 */
	private void doSetExtendsRefValue( ElementRefValue newExtendsValue )
			throws ExtendsException
	{
		if ( newExtendsValue != null )
		{
			
			ElementDefn metaData = (ElementDefn) element.getDefn( );
			PropertyDefn propDefn = (PropertyDefn) metaData
					.getProperty( IDesignElementModel.EXTENDS_PROP );
			int ns = metaData.getNameSpaceID( );
			DesignElement resolvedParent = null;
			Module root = module;
			if ( !metaData.canExtend( ) )
				throw new ExtendsException( element,
						newExtendsValue.getName( ),
						ExtendsException.DESIGN_EXCEPTION_CANT_EXTEND );
			if ( !newExtendsValue.isResolved( ) )
				resolvedParent = root.resolveElement( ReferenceValueUtil
						.needTheNamespacePrefix( newExtendsValue, module ), ns,
						propDefn );
			else
				resolvedParent = root.resolveElement( newExtendsValue
						.getElement( ), ns, propDefn );
			DesignElement parent = newExtendsValue.getElement( );
			if ( parent != null && parent != resolvedParent )
				throw new ExtendsException( element,
						newExtendsValue.getName( ),
						ExtendsException.DESIGN_EXCEPTION_NOT_FOUND );