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/api/ElementFactory.java
* The module.
	 */
	protected final Module module;
	/**
	 * Constructs a element factory with the given module.
	 * 
	 * @param module
	 *            the module
	 */
	public ElementFactory( Module module )
	{
		this.module = module;
	}
	/**
	 * Creates a design element specified by the element type name. Element type
	 * names are defined in rom.def or extension elements. They are managed by
	 * the meta-data system.
	 * 
	 * @param elementTypeName
	 *            the element type name
	 * @param name
	 *            the optional element name
	 * 
	 * @return design element, <code>null</code> returned if the element
	 *         definition name is not a valid element type name.
	 */
	public DesignElementHandle newElement( String elementTypeName, String name )
	{
		ElementDefn elemDefn = (ElementDefn) MetaDataDictionary.getInstance( )
				.getElement( elementTypeName );