public function __construct($selectorName, $propertyName, $columnName = null)
{
if (null === $selectorName) {
throw new \InvalidArgumentException('Required argument selectorName may not be null.');
}
if ((null === $propertyName) != (null === $columnName)) {
throw new \InvalidArgumentException('Either both propertyName and columnName must be both null, or both non-null.');
}
$this->selectorName = $selectorName;
$this->propertyName = $propertyName;
$this->columnName = $columnName;
}