.openLibrary( sourceFileName );
.createLibraryFromTemplate( sourceFileName );
	private void doFinish( IPath containerName, String fileName,			String sourceFileName, IProgressMonitor monitor )			throws CoreException	{		// create a sample file		monitor.beginTask( CREATING + fileName, 2 );		IResource resource = (IContainer) ResourcesPlugin.getWorkspace( )				.getRoot( )				.findMember( containerName );		IContainer container = null;		if ( resource == null				|| !resource.exists( )				|| !( resource instanceof IContainer ) )		{			// create folder if not exist			IFolder folder = createFolderHandle( containerName );			UIUtil.createFolder( folder, monitor );			container = folder;		}		else		{			container = (IContainer) resource;		}		final IFile file = container.getFile( new Path( fileName ) );		try		{			ModuleHandle handle = SessionHandleAdapter.getInstance( )					.getSessionHandle( )					.openLibrary( sourceFileName );			if ( ReportPlugin.getDefault( ).getEnableCommentPreference( ) )			{				handle.setStringProperty( ModuleHandle.COMMENTS_PROP,						ReportPlugin.getDefault( ).getCommentPreference( ) );			}			if ( inPredifinedTemplateFolder( sourceFileName ) )			{				String description = handle.getDescription( );				if ( description != null && description.trim( ).length( ) > 0 )				{					handle.setDescription( Messages.getString( description ) );				}			}			handle.saveAs( file.getLocation( ).toOSString( ) );			handle.close( );		}		catch ( Exception e )		{		}		// to refresh this project, or file does not exist will be told, though		// it's created.		container.refreshLocal( IResource.DEPTH_INFINITE, monitor );		monitor.worked( 1 );		monitor.setTaskName( OPENING_FILE_FOR_EDITING );		getShell( ).getDisplay( ).asyncExec( new Runnable( ) {			public void run( )			{				IWorkbench workbench = PlatformUI.getWorkbench( );				IWorkbenchWindow window = workbench.getActiveWorkbenchWindow( );				IWorkbenchPage page = window.getActivePage( );				try				{					IDE.openEditor( page, file, true );					// page.openEditor( new FileEditorInput( file ),					// LibraryReportEditor.EDITOR_ID,					// true );				}				catch ( Exception e )				{					ExceptionHandler.handle( e );				}			}		} );		monitor.worked( 1 );		fireLibraryChanged( fileName );	}