def get_view_permission(self, profile):
        # if the Panel itself is invisble, no need to loop through the
        # children
        if not super(Container, self).get_view_permission(profile):
            return False
        for e in self.elements:
            if (not isinstance(e, Permittable)) or \
               e.get_view_permission(profile):
                # one visible child is enough, no need to continue loop
                return True
            # if not isinstance(e, Permittable):
            #     return True
            # if isinstance(e, Panel) and \
            #    e.get_view_permission(profile):
            #     return True
        # logger.info("20120925 not a single visible element in %s of %s",self,self.layout_handle)
        return False
A Panel which doesn't contain a single visible element becomes
dataset/ETHPy150Open lsaffre/lino/lino/modlib/extjs/elems.py/Container.get_view_permission