continue;
	protected IStructuredSelection getValidSelection() {		ISelection currentSelection= JavaPlugin.getActiveWorkbenchWindow().getSelectionService().getSelection();		if (currentSelection instanceof IStructuredSelection) {			IStructuredSelection structuredSelection= (IStructuredSelection)currentSelection;			List selectedElements= new ArrayList(structuredSelection.size());			Iterator iter= structuredSelection.iterator();			while (iter.hasNext()) {				Object selectedElement=  iter.next();				if (selectedElement instanceof IProject) {					try {						selectedElements.addAll(Arrays.asList(((IProject)selectedElement).members()));					} catch (CoreException ex) {						// // ignore selected element					}				}				else if (selectedElement instanceof IResource)					selectedElements.add(selectedElement);				else if (selectedElement instanceof IJavaElement) {					IJavaElement je= (IJavaElement)selectedElement;					if (je.getElementType() == IJavaElement.COMPILATION_UNIT)						selectedElements.add(je);					else if (je.getElementType() == IJavaElement.JAVA_PROJECT)						selectedElements.add(je);					else if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {						try {							if (((IPackageFragment)je).getKind() == IPackageFragmentRoot.K_SOURCE)								selectedElements.add(je);						} catch (JavaModelException ex) {							// ignore selected element						}					}					else if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {						try {							if (((IPackageFragmentRoot)je).getKind() == IPackageFragmentRoot.K_SOURCE)								selectedElements.add(je);						} catch (JavaModelException ex) {							// ignore selected element						}					}					else {						IJavaElement jcu= JavaModelUtility.getParent(je, IJavaElement.COMPILATION_UNIT);						if (jcu != null) {							ICompilationUnit cu= (ICompilationUnit)jcu;							if (!cu.isWorkingCopy() || (cu= (ICompilationUnit)cu.getOriginalElement()) != null)								selectedElements.add(cu);						}					}				}			}			return new StructuredSelection(selectedElements);		}		else			return StructuredSelection.EMPTY;	}