public function setID($id)
{
if (!preg_match(self::ID_FORMAT, $id)) {
throw new TInvalidDataValueException('control_id_invalid', get_class($this), $id);
}
$this->_id = $id;
$this->_flags |= self::IS_ID_SET;
$this->clearCachedUniqueID($this instanceof INamingContainer);
if ($this->_namingContainer) {
$this->_namingContainer->clearNameTable();
}
}