/*
  * Implements method from IWorkingSetPage
  */
 public void finish() {
   String workingSetName = fWorkingSetName.getText();
   ArrayList elements = new ArrayList(10);
   findCheckedElements(elements, fTree.getInput());
   if (fWorkingSet == null) {
     IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
     fWorkingSet =
         workingSetManager.createWorkingSet(
             workingSetName, (IAdaptable[]) elements.toArray(new IAdaptable[elements.size()]));
   } else {
     // Add inaccessible resources
     IAdaptable[] oldItems = fWorkingSet.getElements();
     ArrayList closedWithChildren = new ArrayList(elements.size());
     for (int i = 0; i < oldItems.length; i++) {
       IResource oldResource = null;
       if (oldItems[i] instanceof IResource) {
         oldResource = (IResource) oldItems[i];
       } else {
         oldResource = (IResource) oldItems[i].getAdapter(IResource.class);
       }
       if (oldResource != null && oldResource.isAccessible() == false) {
         IProject project = oldResource.getProject();
         if (elements.contains(project) || closedWithChildren.contains(project)) {
           elements.add(oldItems[i]);
           elements.remove(project);
           closedWithChildren.add(project);
         }
       }
     }
     fWorkingSet.setName(workingSetName);
     fWorkingSet.setElements((IAdaptable[]) elements.toArray(new IAdaptable[elements.size()]));
   }
 }
 private GradleProject getTreeInput() {
   if (taskSelectionTreeViewer != null) {
     return (GradleProject) taskSelectionTreeViewer.getInput();
   }
   return null;
 }