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/ModuleUtil.java
public static int checkVersion( InputStream streamData )
			throws DesignFileException
	{
		VersionParserHandler handler = new VersionParserHandler( );
		InputStream inputStreamToParse = streamData;
		if ( !inputStreamToParse.markSupported( ) )
			inputStreamToParse = new BufferedInputStream( streamData );
		parse( handler, inputStreamToParse );
		return StringUtil.compareVersion( handler.version, DesignSchemaConstants.REPORT_VERSION );
	}
	/**
	 * Checks if the version of a design file is of old version.
	 * 
	 * @param fileName
	 *            the file name with full path of the design file
	 * @return <code>-1</code> if the version of given file is lower than
	 *         current version; <code>0</code> if they are equal; otherwise,
	 *         return <code>1</code>.
	 * @throws DesignFileException
	 *             if any exception happens
	 * @throws FileNotFoundException
	 */
	public static int checkVersion( String fileName )
			throws DesignFileException, FileNotFoundException
	{
		return checkVersion( new BufferedInputStream( new FileInputStream(
				fileName ) ) );
	}
}