code: async def _nodes_found(self, responses):
          
          toremove = []
          found_values = []
          for peerid, response in responses.items():
              response = RPCFindResponse(response)
              if not response.happened():
                  toremove.append(peerid)
              elif response.has_value():
                  found_values.append(response.get_value())
              else:
                  peer = self.nearest.get_node(peerid)
                  self.nearest_without_value.push(peer)
                  self.nearest.push(response.get_node_list())
          self.nearest.remove(toremove)
  
          if found_values:
              return await self._handle_found_values(found_values)
          if self.nearest.have_contacted_all():
              # not found!
              return None
          return await self.find()
docs: Handle the result of an iteration in _find.