### Question:
QualifiedParamList extends ArrayList<String> { public static QualifiedParamList splitQueryStringByCommasIgnoreEscape(String theQualifier, String theParams) { QualifiedParamList retVal = new QualifiedParamList(); retVal.setQualifier(theQualifier); StringTokenizer tok = new StringTokenizer(theParams, ",", true); String prev = null; while (tok.hasMoreElements()) { String str = tok.nextToken(); if (isBlank(str)) { prev = null; continue; } if (str.equals(",")) { if (countTrailingSlashes(prev) % 2 == 1) { int idx = retVal.size() - 1; String existing = retVal.get(idx); prev = existing.substring(0, existing.length() - 1) + ','; retVal.set(idx, prev); } else { prev = null; } continue; } if (prev != null && prev.length() > 0 && prev.charAt(prev.length() - 1) == ',') { int idx = retVal.size() - 1; String existing = retVal.get(idx); prev = existing + str; retVal.set(idx, prev); } else { retVal.add(str); prev = str; } } if (retVal.size() == 0) { retVal.add(""); } return retVal; } QualifiedParamList();  QualifiedParamList(int theCapacity);  QualifiedParamList(IQueryParameterOr<?> theNextOr, FhirContext theContext); String getQualifier(); void setQualifier(String theQualifier); static QualifiedParamList singleton(String theParamValue); static QualifiedParamList singleton(String theQualifier, String theParamValue); static QualifiedParamList splitQueryStringByCommasIgnoreEscape(String theQualifier, String theParams);  }### Answer:
@Test public void testSplit1() { List<String> actual = QualifiedParamList.splitQueryStringByCommasIgnoreEscape(null,"aaa"); assertEquals(1, actual.size()); assertEquals("aaa", actual.get(0)); }
@Test public void testSplit2() { List<String> actual = QualifiedParamList.splitQueryStringByCommasIgnoreEscape(null,"aaa,bbb"); assertEquals(2, actual.size()); assertEquals("aaa", actual.get(0)); assertEquals("bbb", actual.get(1)); }
@Test public void testSplit3() { List<String> actual = QualifiedParamList.splitQueryStringByCommasIgnoreEscape(null,"aaa,b\\,bb"); System.out.println(actual); assertEquals(2, actual.size()); assertEquals("aaa", actual.get(0)); assertEquals("b,bb", actual.get(1)); }