anchor.diff:      if (sink is! StringConversionSink) {
         sink = new StringConversionSink.from(sink);
       }
  -    return new _LogItemSink(sink, allowNonSequentialMsgs);
  +    _logSink = new _LogItemSink(sink, allowNonSequentialMsgs);
  +    return _logSink;
     }
   }
   
  
positive.code:     int nextMsgN = dataMap["msgN"];
      if (lastMsgN != null) {
        if (nextMsgN != lastMsgN + 1) {
          if (allowNonSequentialMsgs) {
            throw "Non-sequential MsgN in file: $lastMsgN, $nextMsgN";
          }
          hasNonSequentialMsgs = true;
        }
      }
      lastMsgN = nextMsgN;
  
negative.code:   /// or `false` if an exception should be thrown.
    final bool allowNonSequentialMsgs;
  
    _LogItemSink _logSink;
  
    /// The MsgN of the last message in the session log.
    int get lastMsgN => _logSink.lastMsgN;
  
    /// The number of missing messages.
    int get missingMsgCount => _logSink.missingMsgCount;
  
    LogItemTransformer({this.allowNonSequentialMsgs: false});
  
  