anchor.diff:    /// When a [snapshotsInSync] event is fired on the [MethodChannel], trigger
     /// a new Stream event.
     void _handleSnapshotsInSync(Map<dynamic, dynamic> arguments) async {
  +    if (!snapshotInSyncObservers.containsKey(arguments['handle'])) {
  +      return;
  +    }
  +
       snapshotInSyncObservers[arguments['handle']].add(null);
     }
   
     /// When a [QuerySnapshot] event is fired on the [MethodChannel],
     /// add a [MethodChannelQuerySnapshot] to the [StreamController].
     void _handleQuerySnapshotEvent(Map<dynamic, dynamic> arguments) async {
  +    if (!queryObservers.containsKey(arguments['handle'])) {
  +      return;
  +    }
  +
       try {
         queryObservers[arguments['handle']]
             .add(MethodChannelQuerySnapshot(this, arguments['snapshot']));
  
positive.code:   /// Attach a [FirebaseException] to a given [StreamController].
    void _handleError(
        StreamController controller, Map<dynamic, dynamic> arguments) async {
      assert(controller != null);
  
      if (arguments['error'] is Map) {
        // Map means its an error from Native.
  
negative.code:   /// When a [DocumentSnapshot] event is fired on the [MethodChannel],
    /// add a [DocumentSnapshotPlatform] to the [StreamController].
    void _handleDocumentSnapshotEvent(Map<dynamic, dynamic> arguments) async {
      if (!documentObservers.containsKey(arguments['handle'])) {
        return;
      }
  
      try {
        Map<String, dynamic> snapshotMap =
            Map<String, dynamic>.from(arguments['snapshot']);
  