public PackageContents getLoadablePackages() {
        Iterator it = cpElements.iterator();
        String next = null;
        PackageContents root = new PackageContents("root");

        while (it.hasNext() == true) {
            next = (String) it.next();
            if (isJarOrZip(next) == true) {
                File archiveFile = new File(next);
                if (archiveFile.exists() == false) {
                    continue;
                }

                ZipFile zipFile = null;

                try {
                    zipFile = new ZipFile(archiveFile);
                    constructPackageContents(zipFile, root);
                } catch (IOException ex) {
                }
            } else {
                constructPackageContents(new File(next), root);
            }
        }

        return root;
    }