42    public function __construct(
Tag $root, 
string $name = 
""){
 
   43        if(strlen($name) > Limits::INT16_MAX){
 
   44            throw new \InvalidArgumentException(sprintf(
"Tag name must be at most %d bytes, but got %d bytes", Limits::INT16_MAX, strlen($name)));
 
   50    public function getTag() : 
Tag{
 
   67    public function getName() : string{
 
   71    public function equals(TreeRoot $that) : bool{
 
   72        return $this->name === $that->name and $this->root->equals($that->root);
 
   75    public function __toString(){
 
   76        return "ROOT {\n  " . ($this->name !== 
"" ? 
"\"$this->name\" => " : 
"") . $this->root->toString(1) . 
"\n}";