public final void loadClasses(Class<?>... classes) throws IOException {
		for (Class<?> cls : classes) {
			InputStream stream = null;
			try {
				URL root = cls.getProtectionDomain().getCodeSource().getLocation();
				URL url = new URL(root, cls.getName().replace('.', '/') + ".class");
				stream = url.openStream();
			} catch (Exception e) {
				throw new IOException("Couldn't find resource: " + cls.getName(), e);
			}
			if (stream == null) throw new IOException("Couldn't find resource: " + cls.getName());
			FilamentClassNode node = FilamentClassNode.loadFromStream(stream);
			Filament.filament.classes.put(cls.getName(), node);
		}
	}