public function addTagDef(TagDef $tag) { if (array_key_exists($tag->Id, $this->fields['TagDefs'])) { throw new SchemaException('Tag with id [' . $tag->Id . '] already exists in schema'); } if ($tag->isTreeorigin()) { $this->fields['TreeOriginTagDef'] = $tag; } $this->fields['TagDefs'][$tag->Id] = $tag; return $this; }