Here is another remark about the filtering of already selected suggestions: in some cases, perhaps two different suggestions can have the same label, or multiple entries with different labels should be considered equal.
In such cases, the list of selected labels is not adapted or sufficient in order to compare suggestions and filter them.
To handle such cases, I would recommend to have a new optional `suggestionsEqual` method on the resource handler which would return `true` if the two suggestions given as parameters are equal. If this method is present, it would be called during the filtering process to remove already selected suggestions from the list returned by `getSuggestions`. If the method is not present, we would do the filtering based on the label (suggestions having the same label are considered equal).