// go through the list of symbols and do the ones that equal the current category
TList.DCons elem = syms._Cons();
boolean found = false;
while (elem != null) {
final TSymbolT sym = Delayed.<TSymbolT>forced( elem.mem1 );
elem = (elem.mem2.<TList>forced())._Cons();
if (sym._constructor() != cat) continue;
if (sym._constructor() == link && TGlobal.our(g, TSymbolT.M.alias(sym))) continue;
if (top) { // category labels at the top only before first item
if (!found) {
pushSubItem(new CategoryItem(categories[cat], TSymbolT.M.pos(sym)));
found = true;
}