throw new LibraryException( library, null,
throw new LibraryException( library, new String[]{location},
	public void reloadLibrary( String location ) throws DesignFileException,			SemanticException	{		Library library = module.getLibraryByLocation( location,				IAccessControl.ARBITARY_LEVEL );		if ( library == null )			throw new LibraryException( library, null,					LibraryException.DESIGN_EXCEPTION_LIBRARY_NOT_FOUND );		// find the right library to reload.		while ( library != null )		{			if ( library.getHost( ) == module )				break;			library = (Library) library.getHost( );		}		String namespace = library.getNamespace( );		IncludedLibrary includedItem = module.findIncludedLibrary( namespace );		String path = includedItem.getFileName( );		URL url = module.findResource( path, IResourceLocator.LIBRARY );		if ( url == null )		{			DesignParserException ex = new DesignParserException(					new String[]{path},					DesignParserException.DESIGN_EXCEPTION_FILE_NOT_FOUND );			List exceptionList = new ArrayList( );			exceptionList.add( ex );			throw new DesignFileException( path, exceptionList );		}		Map overriddenValues = null;		ActivityStack activityStack = getActivityStack( );		activityStack.startSilentTrans( true );		try		{			// must use content command to remove all virtual elements if			// required. This can solve unresolving issues like DataSet, Style			// references, as well as removing names from name space.			overriddenValues = dealAllElementDecendents( library, RELOAD_ACTION );			doDropLibrary( library );			doAddLibrary( path, namespace, RELOAD_ACTION, overriddenValues );		}		catch ( SemanticException e )		{			activityStack.rollback( );			throw e;		}		catch ( DesignFileException e )		{			activityStack.rollback( );			throw e;		}		// send the libraryreloadedevent first, and then commit transaction		LibraryReloadedEvent event = new LibraryReloadedEvent( module				.getLibraryByLocation( url.toExternalForm( ) ) );		module.broadcast( event );		// clear save state mark.		activityStack.commit( );				// clear all common stack.		activityStack.flush( );				module.setSaveState( 0 );		activityStack.sendNotifcations( new ActivityStackEvent( activityStack,					ActivityStackEvent.DONE ) );			}