@Test
public void testRecursive() throws RecognitionException {

  CommonTree sink = FlumeBuilder
      .parseSink("roll (200) { < null ? [ console, { test => { test2 =>  { batch(10) => logicalNode(\"collector\")  } } } ] > }");
  LOG.info(sink.toStringTree());
  PatternMatch pp = recursive(var("batchsize", kind("DEC")));
  // 
  Map<String, CommonTree> m = pp.match(sink);
  assertNotNull(m);
  dumpMatches(m);
  LOG.info(m);
  pp = recursive(kind("SINK").child(var("LogicalNodeName", kind("STRING"))));
  m = pp.match(sink);
  assertNotNull(m);
  dumpMatches(m);
  LOG.info(m);
}