if (roots1.length > 0) { containedRoots.addAll(Arrays.asList(roots1)); containers.add(entry); }
containedRoots.addAll(Arrays.asList(roots1)); containers.add(entry);
	private Object[] rootsAndContainers(IJavaProject project, Object[] roots) throws JavaModelException { 		List result= new ArrayList(roots.length);		Set containers= new HashSet(roots.length);		Set containedRoots= new HashSet(roots.length); 				IClasspathEntry[] entries= project.getRawClasspath();		for (int i= 0; i < entries.length; i++) {			IClasspathEntry entry= entries[i];			if (entry != null && entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { 				IPackageFragmentRoot[] roots1= project.findPackageFragmentRoots(entry);				if (roots1.length > 0) {					containedRoots.addAll(Arrays.asList(roots1));					containers.add(entry);				}			}		}		for (int i= 0; i < roots.length; i++) {			if (roots[i] instanceof IPackageFragmentRoot) {				if (!containedRoots.contains(roots[i])) {					result.add(roots[i]);				}			} else {				result.add(roots[i]);			}		}		for (Iterator each= containers.iterator(); each.hasNext();) {			IClasspathEntry element= (IClasspathEntry) each.next();			result.add(new ClassPathContainer(project, element));		}				return result.toArray();	}