private Request endGameBlockRequest(Peer peer) {
        RequestExtended reToReturn = null;
        for (RequestExtended re : allPendingRequests) {
            if (peer.hasPiece(re.getIndex()) && !re.getPeers().contains(peer) &&
                    (reToReturn == null || reToReturn.getPeers().size()>re.getPeers().size()))
                reToReturn = re;
        }
        
        if (reToReturn != null){
            associateRequest(peer,reToReturn);
            if (Torrent.verbose)
                torrent.addEvent(new Event(this,"Duplicated request ",Level.FINER));
        }
        return reToReturn;
    }