anchor.diff:    /// invocation site.
     _Data(this.argumentList);
   }
  -
  -/// A range of indexes within a list.
  -class _IndexRange {
  -  /// The index of the first element in the range.
  -  final int lower;
  -
  -  /// The index of the last element in the range. This will be the same as the
  -  /// [lower] if there is a single element in the range.
  -  final int upper;
  -
  -  /// Initialize a newly created range.
  -  _IndexRange(this.lower, this.upper);
  -
  -  /// Return the number of indices in this range.
  -  int get count => upper - lower + 1;
  -
  -  @override
  -  String toString() => '[$lower..$upper]';
  -}
  -
  -extension on List<int> {
  -  Iterable<_IndexRange> get contiguousSubRanges sync* {
  -    if (isEmpty) {
  -      return;
  -    }
  -    var lower = this[0];
  -    var previous = lower;
  -    var index = 1;
  -    while (index < length) {
  -      var current = this[index];
  -      if (current == previous + 1) {
  -        previous = current;
  -      } else {
  -        yield _IndexRange(lower, previous);
  -        lower = previous = current;
  -      }
  -      index++;
  -    }
  -    yield _IndexRange(lower, previous);
  -  }
  -}
  
positive.code:         }
          if (upper >= lower) {
            builder.addInsertion(offset, (builder) {
              writeInsertionRange(builder, _IndexRange(lower, upper),
                  nextRemaining > 0 || insertionCount > 0);
            });
          }
  
negative.code: import 'package:analysis_server/src/services/correction/fix/data_driven/change.dart';
  import 'package:analysis_server/src/services/correction/fix/data_driven/code_template.dart';
  import 'package:analysis_server/src/services/correction/fix/data_driven/parameter_reference.dart';
  import 'package:analysis_server/src/utilities/index_range.dart';
  import 'package:analyzer/dart/ast/ast.dart';
  import 'package:analyzer_plugin/utilities/change_builder/change_builder_dart.dart';
  import 'package:analyzer_plugin/utilities/range_factory.dart';
  