@rbac(('owner', 'user'))
    def get_req_default(self, vt_required=None):
        req = []
        if vt_required:
            req_test = [True, False, None]
        else:
            req_test = [True]

        for name, trait in self.traits(type=not_event).items():
            obj = getattr(self, name)
            if obj is self.parent:
                continue
            if is_instance(obj, VariableTree):
                req.extend(['.'.join((self.name, n))
                                 for n in obj.get_req_default(vt_required)])
            elif trait.required in req_test:
                try:
                    trait = trait.trait_type
                except:
                    unset = (obj == trait.default)
                else:
                    unset = (obj == trait.default_value)
                if not isinstance(unset, bool):
                    try:
                        unset = unset.all()
                    except:
                        pass
                if unset:
                    req.append('.'.join((self.name, name)))

        return req
Return a string representation of
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.main/src/openmdao/main/vartree.py/VariableTree.get_req_default--crossover with--dataset/ETHPy150Open muhuk/django-simple-friends/friends/models.py/UserBlocks.block_summary