anchor.diff:      int nextMsgN = dataMap["msgN"];
       if (lastMsgN != null) {
         if (nextMsgN != lastMsgN + 1) {
  -        throw "Non-sequential MsgN in file: $lastMsgN, $nextMsgN";
  +        if (allowNonSequentialMsgs) {
  +          throw "Non-sequential MsgN in file: $lastMsgN, $nextMsgN";
  +        }
  +        hasNonSequentialMsgs = true;
         }
       }
       lastMsgN = nextMsgN;
  
positive.code:   /// The carry-over from the previous chunk.
    String _carry;
  
    _LogItemSink(this._sink);
  
    @override
    void addSlice(String chunk, int start, int end, bool isLast) {
  
negative.code: ///     }
  ///
  class LogItemTransformer extends Converter<String, List<String>> {
    /// `true` if non-sequential message blocks should be tolerated
    /// or `false` if an exception should be thrown.
    final bool allowNonSequentialMsgs;
  
    /// `true` if [allowNonSequentialMsgs] is `true`
    /// and a non sequential block is found.
    bool hasNonSequentialMsgs = false;
  
    LogItemTransformer({this.allowNonSequentialMsgs: false});
  
    @override
    List<String> convert(String input) {
      throw 'not implemented yet';
  