At the moment getSelected produces inconsistent output IMHO.
When you select 0 values, it returns immutable Set using Collections.emptySet []
When you select 1 value it creates Set using Collections.singleton(value) which produces immutable Set.
When you select >1 values it returns mutable Set.
Class: WebAbstractTable
Method: getSelected
Idea: make all mutable or immutable