anchor.diff:    StringSelectionOptions(List<T> options,
         {ItemRenderer<T> toFilterableString,
         StringSuggestionFilter<T> suggestionFilter,
  -      ItemRenderer sanitizeString: _stringFormatSuggestion,
  +      ItemRenderer<String> sanitizeString: _stringFormatSuggestion,
         bool shouldSort: false})
         : this.withOptionGroups([new OptionGroup(options)],
               toFilterableString: toFilterableString,
  
positive.code:   List<OptionGroup<T>> _optionGroups;
  
    /// A function that converts a single option to a filterable string.
    ItemRenderer<T> _toFilterableString;
  
    /// Function for filtering a single suggestion/option, defaults to
    /// [filterOption] method.
    StringSuggestionFilter<T> _suggestionFilter;
  
    /// The [ItemRenderer] that sanitizes options and queries before filtering.
    ItemRenderer _sanitizeString;
  
    bool _shouldSort = false;
  
    /// The list of options and optionally a function to convert the option into a
    /// string that can be used for filtering the list.
  
negative.code:   StringSelectionOptions.withOptionGroups(List<OptionGroup<T>> optionGroups,
        {ItemRenderer<T> toFilterableString,
        StringSuggestionFilter<T> suggestionFilter,
        ItemRenderer<String> sanitizeString: _stringFormatSuggestion,
        bool shouldSort: false})
        : _toFilterableString =
              toFilterableString ?? _defaultRenderer(sanitizeString),
          _shouldSort = shouldSort,
          _sanitizeString = sanitizeString,
          super(optionGroups) {
      _suggestionFilter =
          suggestionFilter != null ? suggestionFilter : filterOption;
    }
  
    /// Accepts a string query and limit and applies the filter to the options.
  