private function internalAddName($name) {
    $this->children[$name] = array();
    if (false !== $pos = strrpos($name, '.')) {
      $parentName = substr($name, 0, $pos);
      if (!isset($this->children[$parentName])) {
        $this->internalAddName($parentName);
      }
      $this->parents[$name] = $parentName;
      $this->children[$parentName][$name] = true;
    }
    else {
      $this->parents[$name] = null;
      $this->toplevelNames[$name] = true;
    }
  }