### Question:
DotByTildaEscapeUtil { public String[] splitByDotUnEscapeTokens(String dotQualifiedString){ validateBeforeUnEscape(dotQualifiedString); if(dotQualifiedString == null) return null; final Matcher matcher = SPLIT_PATTERN.matcher(dotQualifiedString); int start = 0; List<String> tokens = new ArrayList<String>(); while (matcher.find()){ final int end = matcher.end(); tokens.add(dotQualifiedString.substring(start, end - 1)); start = end; } tokens.add(dotQualifiedString.substring(start, dotQualifiedString.length())); final String[] split = tokens.toArray(new String[tokens.size()]); for(int i = 0; i < split.length; i++){ split[i] = unEscapeDot(split[i], false); } return split; }  String escapeDot(String toEscape); String unEscapeDot(String toUnEscape); String[] splitByDotUnEscapeTokens(String dotQualifiedString); String toDotQualifiedString(String... tokens); static final String ESCAPE_CHARACTER; static final String DELIMITER_CHARACTER; static final String DOUBLE_ESCAPE_CHARACTER; static final String ESCAPED_DELIMITER_CHARACTER; }### Answer:
@Test public void splitByDotUnEscapeTokens(){ final String[] strings = util.splitByDotUnEscapeTokens("blah~.blah~~~.~~~~~.blah~~blah~~~~" + "." + "blah~.blah~~~.~~~~~.blah~~blah~~~~" + "." + "blah~.blah~~~.~~~~~.blah~~blah~~~~"); Assert.assertNotNull(strings); Assert.assertEquals(3, strings.length); for (String string : strings) { Assert.assertEquals("blah.blah~.~~.blah~blah~~", string); } }