code: protected <T extends CONTAINER> T convertFromCollection(Collection collectionValue, Object valueSource, GenericType<T> targetType) {
  
      int size = collectionValue.size();
      T container = createContainer(targetType, size);
      int i = 0;
      for (Object element : collectionValue) {
        convertContainerEntry(element, i, container, valueSource, targetType, collectionValue);
        i++;
      }
      return container;
    }
docs: This method performs the {@link #convert(Object, Object, GenericType) conversion} for {@link Collection}
  values.
  
  @param <T> is the generic type of {@code targetType}.
  @param collectionValue is the {@link Collection} value to convert.
  @param valueSource describes the source of the value or {@code null} if NOT available.
  @param targetType is the {@link #getTargetType() target-type} to convert to.
  @return the converted container.