// categorized
if (ctx.createContextGroupItem() != null){
List<EsperEPL2GrammarParser.CreateContextGroupItemContext> grps = ctx.createContextGroupItem();
List<ContextDetailCategoryItem> items = new ArrayList<ContextDetailCategoryItem>();
for (EsperEPL2GrammarParser.CreateContextGroupItemContext grp : grps) {
ExprNode exprNode = ASTExprHelper.exprCollectSubNodes(grp, 0, astExprNodeMap).get(0);
String name = grp.i.getText();
items.add(new ContextDetailCategoryItem(exprNode, name));
}
filterSpec = ASTFilterSpecHelper.walkFilterSpec(ctx.eventFilterExpression(), propertyEvalSpec, astExprNodeMap);
return new ContextDetailCategory(items, filterSpec);