static L web_allForwardRelated(WebNode node, S relationLabel) { ret web_allForwardRelated(node.web, node, relationLabel); } static L web_allForwardRelated(Web web, WebNode node, S relationLabel) { ret web_allForwardRelated(web, node, web.parseLabel(relationLabel)); } static L web_allForwardRelated(Web web, WebNode node, Lisp relationLabel) { new L l; for (Pair p : web_relations(web)) if (p.a == node) { WebNode rel = web.getRelationOpt(p); if (rel.hasLabel(relationLabel)) l.add(p.b); } ret l; } static L web_allForwardRelated(WebNode node) { ret pairList_forwardLookup(web_relations(node.web), node); } static L web_allForwardRelated(Web web, S a, S relationLabel) { Lisp name = web.parseLabel(a); Lisp rel = web.parseLabel(relationLabel); new HashSet l; for (WebNode node : web_allNodesNamed(web, name)) l.addAll(web_allForwardRelated(web, node, rel)); ret asList(l); }