/**
* @param string|Permission $name
* @param $value
*
* @return Permission|void Permission if $name is a string, void if it's a Permission
*/
public function addParent($name, $value)
{
if ($name instanceof Permission) {
$name->getChildren()[$this->getName()] = $value;
$name->recalculatePermissibles();
return;
} else {
$perm = Server::getInstance()->getPluginManager()->getPermission($name);
if ($perm === null) {
$perm = new Permission($name);
Server::getInstance()->getPluginManager()->addPermission($perm);
}
$this->addParent($perm, $value);
return $perm;
}
}