/** * DataValueInterface constructor. * * @param array $values * @param DataTypeInterface $typeOf * * @throws \InvalidArgumentException */ public function __construct(array $values, DataTypeInterface $typeOf = null) { foreach ($values as $value) { if (false === $value instanceof DataValueInterface) { throw new \InvalidArgumentException('Only DataValueInterface is allowed'); } } $this->values = $values; parent::__construct($typeOf); }