List<PListValue> (Map json) { List<PListValue> variables = new ArrayList<>(); Object comments = json.get("comments"); if (comments instanceof Map) { Object line = ((Map<?, ?>)comments).get("lineComment"); boolean hasLine = line instanceof String; if (hasLine) { variables.add(variable(COMMENT_START_VARIABLE, ((String)line).trim() + " ")); } Object block = ((Map<?, ?>)comments).get("blockComment"); if (block instanceof ArrayList && ((ArrayList<?>)block).size() == 2) { String suffix = hasLine ? "_2" : ""; variables.add(variable(COMMENT_START_VARIABLE + suffix, ((ArrayList<?>)block).get(0).toString().trim() + " ")); variables.add(variable(COMMENT_END_VARIABLE + suffix, " " + ((ArrayList<?>)block).get(1).toString().trim())); } } return variables; }