@property
  def root_urns_for_deletion(self):
    roots = set()
    for urn in self._urns_for_deletion:
      new_root = True

      fake_roots = []
      for root in roots:
        str_root = utils.SmartUnicode(root)
        str_urn = utils.SmartUnicode(urn)

        if str_urn.startswith(str_root):
          new_root = False
          break
        elif str_root.startswith(str_urn):
          fake_roots.append(root)

      if new_root:
        roots -= set(fake_roots)
        roots.add(urn)

    return roots
The generated API documentation includes the output schema in cases
dataset/ETHPy150Open google/grr/grr/lib/aff4.py/DeletionPool.root_urns_for_deletion--crossover with--dataset/ETHPy150Open ClusterHQ/flocker/flocker/restapi/docs/test/test_publicapi.py/MakeRstTests.test_outputArraySchema