protected void removeButtonPressed() {
    TreeItem[] toRemove = viewer.getTree().getSelection();

    if (toRemove != null && toRemove.length > 0) {
      for (int i = 0; i < toRemove.length; i++) {
        Path path = (Path) toRemove[i].getData();
        if (archives.containsKey(path)) {
          archives.remove(path);
        }
      }

      viewer.refresh();
      if (archives != null && archives.size() > 0) {
        isComplete = true;
      } else {
        isComplete = false;
      }
      handle.update();
    }
  }
  protected void buttonPressed() {
    IProject project = (IProject) getTaskModel().getObject(IReferenceWizardConstants.PROJECT);
    selected = chooseEntries(add.getShell(), project.getFullPath());

    if (selected != null) {
      removeInvalidArchiveFiles();

      for (IPath path : selected) {
        if (!archives.containsKey(path)) {
          archives.put(path, path);
        }
      }

      viewer.refresh();
      if (archives != null && archives.size() > 0) {
        isComplete = true;
      } else {
        isComplete = false;
      }
      handle.update();
    }
  }