anchor.diff:    /// run.
     final bool availableSuggestions;
   
  +  /// A flag indicating whether the new protocol should be used for this run.
  +  final bool useNewProtocol;
  +
     /// The function to be executed when this metrics collector is enabled.
     final void Function()? enableFunction;
   
  
positive.code:       OperationPerformanceImpl performance,
        DartCompletionRequest dartRequest,
        [DeclarationsTracker? declarationsTracker,
        protocol.CompletionAvailableSuggestionsParams?
            availableSuggestionsParams]) async {
      List<protocol.CompletionSuggestion> suggestions;
  
      var budget = CompletionBudget(Duration(seconds: 30));
      if (declarationsTracker == null) {
        // available suggestions == false
        suggestions = await DartCompletionManager(
          budget: budget,
          listener: listener,
        ).computeSuggestions(dartRequest, performance);
      } else {
        // available suggestions == true
        var includedElementKinds = <protocol.ElementKind>{};
  
negative.code: 
    CompletionMetrics(this.name,
        {required this.availableSuggestions,
        this.useNewProtocol = false,
        this.enableFunction,
        this.disableFunction})
        : assert(!(availableSuggestions && useNewProtocol)),
          userTag = UserTag(name);
  
    /// Return an instance extracted from the decoded JSON [map].
    factory CompletionMetrics.fromJson(Map<String, dynamic> map) {
  