// here, we also identify what parameters should be foldered private Pair<String, Object> processDependentParameter( ComputeParameter par, Hashtable<String, Object> line, Hashtable<String, String> simpleValues) { Pair<String, Object> pair = new Pair<String, Object>(); pair.setA(par.getName()); int lineFolderedSize = foldingParser.getFolderedLineSize(line); String parTemplate = par.getDefaultValue(); foldingParser.setNotList(); foldingParser.checkIsList(parTemplate); boolean isList = foldingParser.getIsList(); if (lineFolderedSize > 1 && isList) { List<String> values = new ArrayList<String>(); for (int i = 0; i < lineFolderedSize; i++) { String value = foldingParser.parseTemplateLineByHand(parTemplate, line, i, simpleValues); values.add(value); } pair.setB(values); } else { String value = foldingParser.parseTemplateLineByHand(parTemplate, line, 0, simpleValues); pair.setB(value); } return pair; }