public static ClassInfo forName(String name) {
		if (name == null || name.indexOf(';') != -1 || name.indexOf('[') != -1
				|| name.indexOf('/') != -1)
			throw new IllegalArgumentException("Illegal class name: " + name);

		int hash = name.hashCode();
		Iterator iter = classes.iterateHashCode(hash);
		while (iter.hasNext()) {
			ClassInfo clazz = (ClassInfo) iter.next();
			if (clazz.name.equals(name))
				return clazz;
		}
		ClassInfo clazz = new ClassInfo(name);
		classes.put(hash, clazz);
		return clazz;
	}