private function checkId($id)
 {
     if ($id == null) {
         return;
     }
     $str = \blaze\lang\String::asNative($id);
     if (strlen($str) == 0) {
         throw new \blaze\lang\IllegalArgumentException('Component id must have a length of at least one character');
     }
     $firstChar = $str[0];
     if ($firstChar != '_' && !\blaze\lang\Character::isLetter($firstChar)) {
         throw new \blaze\lang\IllegalArgumentException('Component id\'s first character must be a letter or underscore (_) and not ' . $firstChar);
     }
     if (!preg_match('/^..[a-zA-Z0-9\\-\\_]*$/', $str)) {
         throw new \blaze\lang\IllegalArgumentException('Component id\'s may only contain digits, letters, underscores(_) and dashes(-)');
     }
 }