@Test
public void test01() {

    List<String> expectedResult = new ArrayList<String>();
    expectedResult.add("");
    expectedResult.add("ab");
    expectedResult.add("");
    expectedResult.add("cd");
    expectedResult.add("");
    expectedResult.add("e f");
    expectedResult.add("\\hijk");
    expectedResult.add("");
    final List<String> result = new ArrayList<>();
    new RangeExpressionParser(",ab,,cd,  , e f , \\hijk ,").visit(new RangeExpressionItemVisitor() {
        @Override
        public void visit(Object val) {
            result.add((String) val);
        }
    });
    Assert.equals(result, expectedResult);
}