if (!file.endsWith("!/")) { throw new IllegalArgumentException(pc[i] + " must point to classpath and end with !/"); }
	public Set getProgramClasses() {		for (int i = 0; i < pc.length; i++) {			String file = pc[i].getFile();			if (!file.endsWith(File.separator)) {				throw new IllegalArgumentException(pc[i]						+ " must point to classpath and end with "						+ File.separator);			}			String protocol = pc[i].getProtocol();			if (protocol.equals("file")) {				loadClassFromDirectory(new File(file));			} else if (protocol.equals("jar")) {				loadClassFromJar(pc[i]);			}		}		Set classes = new TreeSet(String.CASE_INSENSITIVE_ORDER);		classes.addAll(programClasses.keySet());		return classes;	}