static L makeHull(MultiMap map, S e) { new L l; makeHull_impl(map, e, l); ret l; } static void makeHull_impl(MultiMap map, S e, L dest) { if (dest.contains(e)) ret; dest.add(e); for (S f : map.get(e)) makeHull_impl(map, f, dest); }