I'm afraid, this issue cannot be fixed.
uimaFIT correctly coerces single values on multi-valued parameters if it knows that the parameter is multi-valued. This knowledge is obtained from the resource meta data that is part of a descriptor. The descriptor can come either from an XML file, or it can have been dynamically generated using uimaFIT. In this issue, the descriptor is dynamically created using uimaFIT.
For uimaFIT to generate a descriptor with a parameter declarations, class fieldes must have been marked using the @ConfigurationParameter annotation. If a field is an array or collection type, then uimaFIT will correctly mark the parameter as multi-valued in the descriptor.
In the present case, uimaFIT analyzes the WhitespaceTokenizer class which does not contain any @ConfigurationParameter annotations. Thus, the descriptor generated for this class does not contain any parameter declarations. Consequently, none of the type coercion mechanisms can function, as these rely on the parameter declarations. uimaFIT will still be able to initialize the component, but only if the parameters passed in the createEngineDescription-call match exactly the types expected by the UIMA component.