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
* Creates a new oda data set. The name is required. If the
	 * <code>name</code> is null, we will make a unique name for it. The
	 * <code>extensionID</code> is used to find the extension definition.If
	 * the extension ID is not given, the oda data source will be created
	 * without extension. If the unknown extension ID is given,
	 * <code>null</code> will be returned.
	 * 
	 * @param name
	 *            the required oda data set name.
	 * @param extensionID
	 *            the extension ID
	 * @return a handle to oda data set
	 */
	public OdaDataSetHandle newOdaDataSet( String name, String extensionID )
	{
		if ( extensionID != null )
		{
			if ( ODAProviderFactory.getInstance( ).createODAProvider( null,
					extensionID ) == null )
				return null;
			if ( !ODAProviderFactory.getInstance( ).createODAProvider( null,
					extensionID ).isValidODADataSetExtensionID( extensionID ) )
				return null;
		}
		OdaDataSet element = new OdaDataSet( name );
		module.makeUniqueName( element );
		element.setProperty( OdaDataSet.EXTENSION_ID_PROP, extensionID );
		return element.handle( module );
	}
	/**