/**
* Class constructor, overridden in descendant classes.
*
* @param mixed $properties Either and associative array or another
* object to set the initial properties of the object.
*
* @since 1.7.0
*/
public function __construct($properties = null)
{
if ($properties !== null) {
$this->setProperties($properties);
}
}