Could you please move the block inside ``if()`` into a method ``processCollectionParameterValue()``? This would avoid the method to become that long.

After that its good to merge from my POV.