docs: function validateWire () {
        if (wire.requests.length) return
  
        let i = self._selections.length
        while (i--) {
          const next = self._selections[i]
          let piece
          if (self.strategy === 'rarest') {
            const start = next.from + next.offset
            const end = next.to
            const len = end - start + 1
            const tried = {}
            let tries = 0
            const filter = genPieceFilterFunc(start, end, tried)
  
            while (tries < len) {
              piece = self._rarityMap.getRarestPiece(filter)
              if (piece < 0) break
              if (self._request(wire, piece, false)) return
              tried[piece] = true
              tries += 1
            }
          } else {
            for (piece = next.to; piece >= next.from + next.offset; --piece) {
              if (!wire.peerPieces.get(piece)) continue
              if (self._request(wire, piece, false)) return
            }
          }
        }
  
        // TODO: wire failed to validate as useful; should we close it?
        // probably not, since 'have' and 'bitfield' messages might be coming
      }