### Question:
FieldValueParser { public static List<String> tokenizeList(String list) { String[] split = list.split(","); if (split.length == 1) { return Collections.singletonList(split[0].trim()); } else { List<String> result = new ArrayList<String>(); String inCodedUrl = null; for (String t : split) { String trimmed = t.trim(); if (trimmed.startsWith("<") && !trimmed.endsWith(">")) { inCodedUrl = trimmed + ","; } else if (inCodedUrl != null && trimmed.endsWith(">")) { inCodedUrl += trimmed; result.add(inCodedUrl); inCodedUrl = null; } else { if (trimmed.length() != 0) { result.add(trimmed); } } } return Collections.unmodifiableList(result); } }  static List<String> tokenizeList(String list);  }### Answer:
@Test public void testDavComplianceHeader() { List<String> l; l = FieldValueParser.tokenizeList("1"); assertArrayEquals(new String[]{"1"}, l.toArray()); l = FieldValueParser.tokenizeList("1,2,,,,,3,,bind,"); assertArrayEquals(new String[]{"1","2","3","bind"}, l.toArray()); l = FieldValueParser.tokenizeList("1,2,<http: assertArrayEquals(new String[]{"1","2","<http: }