/**
  * Construction of a collection
  *
  * @param   array|string   $items_collection    The array of the collection content (optional)
  * @throws  \InvalidArgumentException if the collection argument is not an array
  */
 public function __construct($items_collection = array())
 {
     if (empty($items_collection)) {
         throw new \InvalidArgumentException(sprintf('Creation of a "%s" instance with no items collection is not allowed!', __CLASS__));
     }
     if (!is_array($items_collection)) {
         $items_collection = array($items_collection);
     }
     parent::__construct($items_collection);
 }