Filtering a multi-select object

Maybe I’m missing something simple here - hope someone can point me in the right direction. I currently have a Select object which I am populating with a list of files. I have added a filter so that users can start typing into the selector and it winnows the list down as you type. I would like to add the ability to let the user select multiple items from the (possibly filtered) list.

It looks like the setMultiSelect() function is deprecated, so I should switch this to a ListSelect object. But ListSelect doesn’t seem to let me add a filter.
What is the correct solution for this?

And a second question - if I turn off the ‘immediate’ flag, how can I tell when all the selections are complete? Does the valueChangeEvent routine get called multiple times as the user makes additional selections? Should I leave the immediate flag on?

My code currently looks like this:

            select sel_RRD = new Select("Choose File");
	sel_RRD.addListener(new ValueChangeListener(){
		private static final long serialVersionUID = 1L;

		public void valueChange(ValueChangeEvent event) {
			Integer rrdId = (Integer) sel_RRD.getValue();"Selected = " + rrdId);
			app.setSelected_RRD_Id(rrdId);   // **** I'd like to be able to get a list of files here...



The special filtering in Select (and ComboBox) is specific to that component. There’s also a generic filtering API where the filter added to the container. See
this example
and the

And yes, multi-select is deprecated for Select as it is unsuitable for it.

It’s all in knowing where to look - thanks very much!