def _nodesFound(self, responses):
        toremove = []
        foundValues = []
        for peerid, response in responses.items():
            response = crawling.RPCFindResponse(response)
            if not response.happened():
                toremove.append(peerid)
            elif response.hasValue():
                foundValues.append((peerid, response.getValue()))
            else:
                peer = self.nearest.getNodeById(peerid)
                self.nearestWithoutValue.push(peer)
                self.nearest.push(response.getNodeList())
        _log.debug("_nodesFound nearestWithoutValue: %s, nearest: %s, toremove: %s" %
                    (self.nearestWithoutValue.getIDs(), self.nearest.getIDs(), toremove))
        self.nearest.remove(toremove)

        # Changed that first try to wait for alpha responses
        if len(foundValues) >= self.alpha: 
            return self._handleFoundValues(foundValues) 
        if self.nearest.allBeenContacted():
            if len(foundValues) > 0: 
                return self._handleFoundValues(foundValues) 
            else:
                # not found at neighbours!
                if self.local_value:
                    # but we had it
                    return self.local_value
                else:
                    return None

        return self.find()
view_collection returns main view to see an entire collection of images, meaning a viewer and list of images to load into it. 
dataset/ETHPy150Open EricssonResearch/calvin-base/calvin/runtime/south/plugins/storage/twistedimpl/securedht/append_server.py/ValueListSpiderCrawl._nodesFound--crossover with--dataset/ETHPy150Open NeuroVault/NeuroVault/neurovault/apps/statmaps/views.py/view_collection