/* (non-Javadoc)
  * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
  */
 @Override
 public void performApply(ILaunchConfigurationWorkingCopy configuration) {
   if (isDirty()) {
     boolean def = fDefaultButton.getSelection();
     if (def) {
       configuration.setAttribute(
           IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, (String) null);
       configuration.setAttribute(
           IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH, (List<String>) null);
     } else {
       configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, def);
       try {
         IRuntimeClasspathEntry[] entries = fPathViewer.getEntries();
         List<String> mementos = new ArrayList<String>(entries.length);
         for (int i = 0; i < entries.length; i++) {
           mementos.add(entries[i].getMemento());
         }
         configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH, mementos);
       } catch (CoreException e) {
         JDIDebugUIPlugin.statusDialog(
             LauncherMessages.SourceLookupBlock_Unable_to_save_source_lookup_path_1,
             e.getStatus());
       }
     }
     boolean dup = fDuplicatesButton.getSelection();
     if (dup) {
       configuration.setAttribute(JavaUISourceLocator.ATTR_FIND_ALL_SOURCE_ELEMENTS, true);
     } else {
       configuration.setAttribute(
           JavaUISourceLocator.ATTR_FIND_ALL_SOURCE_ELEMENTS, (String) null);
     }
   }
 }