public ClassNode getClass(String name) {
		if (name == null) {
			return null;
		}

		ClassNode c = getClasses().get(name);
		if (c == null) {
			c = cachedExternalClasses.get(new ID(name));

			if (c == null) {
				c = new ClassNode();
				ClassReader cr;
				try {
					cr = new ClassReader(name);
				} catch (IOException e) {
					return null;
				}
				cr.accept(c, 0);

				cachedExternalClasses.put(new ID(name), c);
			}
		}
		return c;
	}