docs: def find_object_hashes(root, meta_only=False):
      """
      Iterator that returns hashes of all of the file and table nodes.
  
      :param root: starting node
      """
      stack = [root]
      while stack:
          obj = stack.pop()
          if not meta_only and isinstance(obj, (TableNode, FileNode)):
              for objhash in obj.hashes:
                  yield objhash
          stack.extend(itervalues(obj.get_children()))
          if obj.metadata_hash is not None:
              yield obj.metadata_hash