anchor.diff:    @override
     Map<PluginInfo, Future<plugin.Response>> broadcastRequest(
         plugin.RequestParams params,
  -      {analyzer.ContextRoot contextRoot}) {
  +      {analyzer.ContextRoot? contextRoot}) {
       broadcastedRequest = params;
       return broadcastResults ?? <PluginInfo, Future<plugin.Response>>{};
     }
  
positive.code: // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  
  // @dart = 2.9
  
  import 'dart:async';
  
  import 'package:analysis_server/protocol/protocol.dart';
  import 'package:analysis_server/src/analysis_server.dart';
  import 'package:analysis_server/src/channel/channel.dart';
  import 'package:analysis_server/src/plugin/notification_manager.dart';
  import 'package:analysis_server/src/plugin/plugin_manager.dart';
  
negative.code:       StreamController<Response>.broadcast();
    StreamController<Notification> notificationController =
        StreamController<Notification>(sync: true);
    Completer<Response>? errorCompleter;
  
    List<Response> responsesReceived = [];
    List<Notification> notificationsReceived = [];
  
    bool _closed = false;
  
    String? name;
  
    MockServerChannel();
  
  