code: def get_current_visible_nodes(self):
      # bfs traversal to get current visible nodes
      # if one node is visible now, all its children nodes are invisible
      current_visible_nodes = []
      travesal_queue = deque()
      visited_map = defaultdict(bool)
      travesal_queue.append("/")
      visited_map["/"] = True
      while travesal_queue:
          current_name = travesal_queue.popleft()
          current_node = self.all_nodes[current_name]
          if self.visible_maps[current_name] is True:
              current_visible_nodes.append(current_name)
          else:
              for child_name in current_node["children_node"]:
                  if visited_map[child_name] is False:
                      travesal_queue.append(child_name)
                      visited_map[child_name] = True
      return current_visible_nodes
  
imports: from collections import defaultdict
  from collections import deque
label_desc: Use image node_id 4 for calling the Model obj's underlying member method code with example usage: obj.get_current_visible_nodes() and returns: current_visible_nodes