if (parentElement instanceof IProject) return ((IProject)parentElement).members();  if (parentElement instanceof IJavaProject) { IJavaProject project= (IJavaProject)parentElement; Object[] roots= getPackageFragmentRoots(project); return rootsAndContainers(project, roots); }
	public Object[] getChildren(Object parentElement) {		try {			if (parentElement instanceof IJavaModel) 				return concatenate(getJavaProjects((IJavaModel)parentElement), getNonJavaProjects((IJavaModel)parentElement));			if (parentElement instanceof IProject) 				return ((IProject)parentElement).members();										if (parentElement instanceof IJavaProject) {				IJavaProject project= (IJavaProject)parentElement;				Object[] roots= getPackageFragmentRoots(project);				return rootsAndContainers(project, roots);			}			if (parentElement instanceof ClassPathContainer)				return getContainerPackageFragmentRoots((ClassPathContainer)parentElement);						} catch (CoreException e) {			return NO_CHILDREN;		}				if (needsToDelegate(parentElement)) {			Object[] packageFragments= fPackageFragmentProvider.getChildren(parentElement);			return getWithParentsResources(packageFragments, parentElement);		} else			return super.getChildren(parentElement);	}