original_docstring: 
          return variable wrappers matching all of the given tags
          
docstring: return variable wrappers matching all of the given tags
docstring_tokens: return variable wrappers matching all of the given tags
code: def find_vws_in_subtree(self, tags=None, is_shared=None):
          """
          return variable wrappers matching all of the given tags
          """
          remaining_vws = [
              vw
              for name in self.graph.architecture_subtree_names(self._name)
              for vw in self[name]._state["current_variables"].values()]
          if tags is not None:
              tags = set(tags)
              # only keep variables where all tags match
              remaining_vws = [vw for vw in remaining_vws
                               if len(tags - vw.tags) == 0]
          if is_shared is not None:
              remaining_vws = [vw for vw in remaining_vws
                               if is_shared == vw.is_shared]
          return remaining_vws
code_tokens: def find_vws_in_subtree ( self , tags = None , is_shared = None ) : remaining_vws = [ vw for name in self . graph . architecture_subtree_names ( self . _name ) for vw in self [ name ] . _state [ "current_variables" ] . values ( ) ] if tags is not None : tags = set ( tags ) remaining_vws = [ vw for vw in remaining_vws if len ( tags - vw . tags ) == 0 ] if is_shared is not None : remaining_vws = [ vw for vw in remaining_vws if is_shared == vw . is_shared ] return remaining_vws
short_docstring: return variable wrappers matching all of the given tags
short_docstring_tokens: return variable wrappers matching all of the given tags
comment: """
          return variable wrappers matching all of the given tags
          """$SEP$# only keep variables where all tags match