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
{
		String version = null;
		public VersionParserHandler( )
		{
			super( new ModuleParserErrorHandler( ) );
		}
		public AbstractParseState createStartState( )
		{
			return new StartState( );
		}
		/**
		 * Recognizes the top-level tags: Report or Library
		 */
		class StartState extends InnerParseState
		{
			public AbstractParseState startElement( String tagName )
			{
				if ( DesignSchemaConstants.REPORT_TAG
						.equalsIgnoreCase( tagName )
						|| DesignSchemaConstants.LIBRARY_TAG
								.equalsIgnoreCase( tagName ) )
					return new VersionState( );
				return super.startElement( tagName );
			}
		}
		/**
		 * Recognizes the top-level tags: Report or Library
		 */
		class VersionState extends InnerParseState