public function createRole($name, $type)
 {
     if (trim($name) == "") {
         throw new e\CreationErrorException(S_SPAN . c\M::EMPTY_ROLE_NAME . E_SPAN);
     }
     if (!c\RoleTypeValues::isRoleTypeValue(trim($type))) {
         throw new e\CreationErrorException(S_SPAN . "Unacceptable role type {$type}." . E_SPAN);
     }
     $asset = AssetTemplate::getRole();
     $asset->role->name = $name;
     $asset->role->roleType = $type;
     if ($type == Site::TYPE) {
         $asset->role->siteAbilities = new \stdClass();
     } else {
         $asset->role->globalAbilities = new \stdClass();
     }
     return $this->createAsset($asset, Role::TYPE, $name);
 }