Source:
private void registerInterpreterSetting(List<RegisteredInterpreter> registeredInterpreters, String interpreterDir, boolean override) { Map<String, DefaultInterpreterProperty> properties = new HashMap<>(); List<InterpreterInfo> interpreterInfos = new ArrayList<>(); InterpreterOption option = defaultOption; String group = null; InterpreterRunner runner = null; for (RegisteredInterpreter registeredInterpreter : registeredInterpreters) { InterpreterInfo interpreterInfo = new InterpreterInfo(registeredInterpreter.getClassName(), registeredInterpreter.getName(), registeredInterpreter.isDefaultInterpreter(), registeredInterpreter.getEditor()); interpreterInfo.setConfig(registeredInterpreter.getConfig()); group = registeredInterpreter.getGroup(); runner = registeredInterpreter.getRunner(); if (registeredInterpreter.getOption() != null) { option = registeredInterpreter.getOption(); } properties.putAll(registeredInterpreter.getProperties()); interpreterInfos.add(interpreterInfo); } InterpreterSetting interpreterSettingTemplate = new InterpreterSetting.Builder() .setGroup(group) .setName(group) .setInterpreterInfos(interpreterInfos) .setProperties(properties) .setDependencies(new ArrayList<Dependency>()) .setOption(option) .setRunner(runner) .setInterpreterDir(interpreterDir) .setRunner(runner) .setConf(conf) .setIntepreterSettingManager(this) .create(); String key = interpreterSettingTemplate.getName(); if(override || !interpreterSettingTemplates.containsKey(key)) { LOGGER.info("Register InterpreterSettingTemplate: {}", key); interpreterSettingTemplates.put(key, interpreterSettingTemplate); } }

Target:
private void registerInterpreterSetting(List<RegisteredInterpreter> registeredInterpreters, String interpreterDir, boolean override) { Map<String, DefaultInterpreterProperty> properties = new HashMap<>(); List<InterpreterInfo> interpreterInfos = new ArrayList<>(); InterpreterOption option = defaultOption; String group = null; InterpreterRunner runner = null; for (RegisteredInterpreter registeredInterpreter : registeredInterpreters) { InterpreterInfo interpreterInfo = new InterpreterInfo(registeredInterpreter.getClassName(), registeredInterpreter.getName(), registeredInterpreter.isDefaultInterpreter(), registeredInterpreter.getEditor(), registeredInterpreter.getConfig()); interpreterInfo.setConfig(registeredInterpreter.getConfig()); group = registeredInterpreter.getGroup(); runner = registeredInterpreter.getRunner(); if (registeredInterpreter.getOption() != null) { option = registeredInterpreter.getOption(); } properties.putAll(registeredInterpreter.getProperties()); interpreterInfos.add(interpreterInfo); } InterpreterSetting interpreterSettingTemplate = new InterpreterSetting.Builder() .setGroup(group) .setName(group) .setInterpreterInfos(interpreterInfos) .setProperties(properties) .setDependencies(new ArrayList<Dependency>()) .setOption(option) .setRunner(runner) .setInterpreterDir(interpreterDir) .setRunner(runner) .setConf(conf) .setIntepreterSettingManager(this) .create(); String key = interpreterSettingTemplate.getName(); if(override || !interpreterSettingTemplates.containsKey(key)) { LOGGER.info("Register InterpreterSettingTemplate: {}", key); interpreterSettingTemplates.put(key, interpreterSettingTemplate); } }