Improvement, all empty collection will be createt by the function "getEmptyCollection()" and not directly by a "new DefaultCollection();" call.