public void relicenseDir(File dir) throws IOException
{
	if (dir.isHidden() || dir.getName().startsWith(".")) return;
	if (dir.isDirectory()) {
		String[] children = dir.list();
		for (int i=0; i<children.length; i++) {
			relicenseDir(new File(dir, children[i]));
		}
	} else {
		String name = dir.getName();
		for (int i=0; ; ++i) {
			if (i >= suffixes.length) return;	// not a valid suffix to relicense
			if (name.endsWith(suffixes[i])) break;	// good suffix
		}
		relicenseFile(dir);
	}
}