Fix support for multi-select fields when using a datasource

Resolve #152.
Not sure, but maybe worth adding an assertEquals to check that handling of this case remains consistent (eg, always first or always last)?