public ClassInfo[] loadClassesFromZipFile(final ZipFile zipFile)
			throws ClassNotFoundException {
		final ClassInfo[] infos = new ClassInfo[zipFile.size()];

		// Examine each entry in the zip file
		final Enumeration entries = zipFile.entries();
		for (int i = 0; entries.hasMoreElements(); i++) {
			final ZipEntry entry = (ZipEntry) entries.nextElement();
			if (entry.isDirectory() || !entry.getName().endsWith(".class")) {
				continue;
			}

			try {
				final InputStream stream = zipFile.getInputStream(entry);
				final File file = new File(entry.getName());

				infos[i] = loadClassFromStream(file, stream);

			} catch (final IOException ex) {
				System.err.println("IOException: " + ex);
			}
		}

		return (infos);
	}