static JTabbedPane showTabbedWebs(L params) { ret showTabbedWebs(toObjectArray(params)); } // params: title, web, title, web, ... // or: web, web, web, ... static JTabbedPane showTabbedWebs(fO... params) { ret swing(func -> JTabbedPane { new L out; int n = 0; for (O o : params) { Web web = castOpt(o, Web); if (web == null) { out.add(o); continue; } ++n; CirclesAndLines cal = webToCAL(web); Canvas canvas = cal.makeCanvas(); if (!isString(last(out))) out.add(or2(cal.title, "Web " + n)); out.add(calAutoLayout2(cal, canvas)); } //print("Tabs: " + map className(params) + " -> " + map className(out)); ret showTabs(toObjectArray(out)); }); }