_findRealRequestAndSetSession(requestId, targetType, sessionId) {
    let request = this._recordsById.get(requestId);
    if (!request || !request.isValid) return undefined;

    while (request.redirectDestination) {
      request = request.redirectDestination;
    }

    request.setSession(sessionId);
    request.sessionTargetType = targetType;

    return request;
  }
Redirected requests all have identical requestIds over the protocol. Once a request has been
redirected all future messages referrencing that requestId are about the new destination, not
the original. This method is a helper for finding the real request object to which the current
message is referring.

@param {string} requestId
@param {LH.Protocol.TargetType} targetType
@param {string|undefined} sessionId
@return {NetworkRequest|undefined}