@Test
public void test09() {

    List<String> expectedResult = new ArrayList<String>();
    expectedResult.add("1b3");
    expectedResult.add("1b4");
    expectedResult.add("1b9");
    expectedResult.add("2b3");
    expectedResult.add("2b4");
    expectedResult.add("2b9");
    final List<String> result = new ArrayList<>();
    new RangeExpressionParser("[1..2]b[3..4,9]").visit(new RangeExpressionItemVisitor() {
        @Override
        public void visit(Object val) {
            result.add((String) val);
            // System.out.println(val);
        }
    });
    Assert.equals(result, expectedResult);
}