class ResourcesManager {

	public void resolveResources(List<CarnotzetModule> modules) {
		try {
			log.debug("Resolving resources overrides and merges in [{}]", resourcesRoot);
			List<CarnotzetModule> processedModules = new ArrayList<>();
			for (CarnotzetModule module : modules) {
				processedModules.add(module);
				copyOwnResources(processedModules, module);
				mergeFiles(processedModules, module);
				overrideFiles(processedModules, module);
			}
		}
		catch (IOException ex) {
			throw new UncheckedIOException("Resolve module resources " + ex, ex);
		}
	}

	public  ResourcesManager(Path resourcesRoot, Path topLevelModuleResourcesPath);

}