public function __construct(array $imageData = array())
{
foreach ($imageData as $key => $value) {
try {
$this->{$key} = $value;
} catch (PropertyNotFoundException $e) {
throw new InvalidArgumentType(sprintf('Image\\Value::$%s', $key), 'Existing property', $value);
}
}
}