anchor.diff:      if (!_hasTimeline) {
         return;
       }
  -    if (_stack.length == 0) {
  +    if (_stack.isEmpty) {
         throw new StateError('Uneven calls to startSync and finishSync');
       }
       // Pop top item off of stack.
  
positive.code:       _stack.add(null);
        return;
      }
      var block = new _SyncBlock._(name);
      if (arguments != null) {
        block._arguments = arguments;
      }
      if (flow != null) {
        block.flow = flow;
      }
      _stack.add(block);
      block._startSync();
    }
  
negative.code: 
    /// An (optional) set of arguments which will be serialized to JSON and
    /// associated with this block.
    final Map? arguments;
  
    /// An (optional) flow event associated with this block.
    final Flow? flow;
  
    late final String _jsonArguments = _argumentsAsJson(arguments);
  
    _SyncBlock._(this.name, {this.arguments, this.flow});
  
    /// Start this block of time.
    void _startSync() {
      _reportTaskEvent(0, 'B', category, name, _jsonArguments);
    }
  
    /// Finish this block of time. At this point, this block can no longer be
    /// used.
    void finish() {
      // Report event to runtime.
      _reportTaskEvent(0, 'E', category, name, _jsonArguments);
      final Flow? tempFlow = flow;
      if (tempFlow != null) {
        _reportFlowEvent(category, "${tempFlow.id}", tempFlow._type, tempFlow.id,
            _argumentsAsJson(null));
      }
    }
  }
  
  