public void execute(Context context) { Context exeContext = new Context(); exeContext.mergeVariable(context); Global global = (Global) context.getVariable("global"); Long generateId = global.getGenerateId(); Long userId = global.getUser().getId(); GeneratorInstance generatorInstance = global.getGeneratorInstance(); String generatePath = ConfigProperties.TEMPORARY_PATH + ConfigProperties.fileSeparator + userId + ConfigProperties.fileSeparator + generatorInstance.getName() + "(" + generateId + ")"; String folder = generatePath + ConfigProperties.fileSeparator + this.getName(); folder = Parser.parseString(folder.replace(ConfigProperties.fileSeparator, "/"), exeContext); FileUtil.mkdirs(folder); this.getChildren() .forEach( child -> { child.setParent(this); child.execute(exeContext); }); }