/**
  * @param models
  * @param targetPath a parent of external project or null
  * @param replaceQuery
  */
 public FeatureImportOperation(
     IFeatureModel[] models, boolean binary, IPath targetPath, IReplaceQuery replaceQuery) {
   fModels = models;
   fBinary = binary;
   fTargetPath = targetPath;
   fRoot = ResourcesPlugin.getWorkspace().getRoot();
   fReplaceQuery = replaceQuery;
 }
 // parameter isFileMandatory is used to determine if at least one file must be selected
 // before being able to proceed to the next page
 public SelectMultiFilePage(
     IWorkbench workbench, IStructuredSelection selection, boolean isFileMandatory) {
   super("SelectMultiFilePage");
   this.workbench = workbench;
   this.selection = selection;
   this.isFileMandatory = isFileMandatory;
   this.workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
   this.fileNames = null;
 }
 public void setVisible(boolean visible) {
   if (visible == true) {
     if (fFilters != null) {
       sourceFileViewer.resetFilters();
       for (Iterator i = fFilters.iterator(); i.hasNext(); )
         sourceFileViewer.addFilter((ViewerFilter) i.next());
     }
     sourceFileViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
   }
   super.setVisible(visible);
 }