Replace new Collection method invocation via reflection with new ArrayList in ComplexAttributeImpl class
Description
The ComplexAttributeImpl class do a shallow copy of the properties being passed to its constructor, by first creating a new Collection through reflection. This way of creating a new Collection causes a considerable performance degradation when serving complex features. Looking at the context of its usage seems that only the content of the collection is of interests while there is no request to mantain the characteristics of the original Collection. The method could be then be replaced by a simple new ArrayList.
The ComplexAttributeImpl class do a shallow copy of the properties being passed to its constructor, by first creating a new Collection through reflection. This way of creating a new Collection causes a considerable performance degradation when serving complex features. Looking at the context of its usage seems that only the content of the collection is of interests while there is no request to mantain the characteristics of the original Collection. The method could be then be replaced by a simple new ArrayList.