private void recursiveAddDirAsProject(File dir, ProjectConf conf, int deepLevel) {
		if (!dir.isDirectory())
			throw new BugError("Auto-add project should be a directory: " + dir);
		File[] subf = dir.listFiles();
		if (subf != null) {
			boolean hasLessFiles = false;
			for (File current : subf) {
				if (current.isDirectory())
					recursiveAddDirAsProject(current, conf, deepLevel + 1);
				if (current.isFile() && current.getName().endsWith(".less"))
					hasLessFiles = true;
			}
			if (hasLessFiles) {
				String regex = conf.getAutoAddDirRegexp();
				if (regex == null || Pattern.matches(regex, dir.getPath() + '/')) {
					String autoName = makeProjectName(conf.getName(), deepLevel, dir, conf.getAutoAddDirNameCount());
					ProjectConf autoConf = new ProjectConf(autoName, conf);
					addDirProject(dir, autoConf);
				}
			}
		}
	}