if (projectIsRoot || !fShowPackageContent) return list.toArray(); return ArrayUtility.merge(list.toArray(), project.getNonJavaResources());
return ArrayUtility.merge(list.toArray(), getNonJavaResources(project));
	private Object[] getNonProjectPackageFragmentRoots(IJavaProject project) throws JavaModelException {		// return an empty enumeration when the project is closed		if (!project.getProject().isOpen())			return ArrayUtility.getEmptyArray();					IPackageFragmentRoot[] roots= project.getPackageFragmentRoots();		List list= new ArrayList(roots.length);		// filter out package fragments that correspond to projects and		// replace them with the package fragments directly		boolean projectIsRoot= false;		for (int i= 0; i < roots.length; i++) {			IPackageFragmentRoot root= (IPackageFragmentRoot)roots[i];			if (isProjectPackageFragmentRoot(root)) {				projectIsRoot= true;				Object[] children= getPackageFragments(root);				for (int k= 0; k < children.length; k++) {					list.add(children[k]);				}				if (list.size() == 0) {//					System.out.println("No children found");					}			}			else if (hasChildren(root)/*root.hasChildren()*/) {				if (root.getKind() == IPackageFragmentRoot.K_SOURCE || fShowBinaries)					list.add(root);			} else {//				System.out.println("Root doesn't have children");			}		}		if (projectIsRoot || !fShowPackageContent)			return list.toArray();		return ArrayUtility.merge(list.toArray(), project.getNonJavaResources());	}