public Object tooltip(Coord c, boolean again) {
        if (tooltip != null) {
            prevtt = null;
            return (tooltip);
        }
        for (Widget wdg = lchild; wdg != null; wdg = wdg.prev) {
            if (!wdg.visible)
                continue;
            Coord cc = xlate(wdg.c, true);
            if (c.isect(cc, wdg.sz)) {
                Object ret = wdg.tooltip(c.add(cc.inv()), again
                        && (wdg == prevtt));
                if (ret != null) {
                    prevtt = wdg;
                    return (ret);
                }
            }
        }
        prevtt = null;
        return (null);
    }