public function toSelect(array &$optgroups=[], $level=1, $root=true)
  {
    $options = [];
    foreach($this->items as $item){
      $options[] = $item->toSelect();
    }
    
    if ( $root === true ){
      $text = $this->text;
    }
    else {
      $text = '|'.str_repeat('-', $level).' '.$this->text;
    }
    
    $optgroups[] = [
      'text' => $text,
      'options' => $options,
    ];
    
    foreach($this->groups as $group){
      $group->toSelect($optgroups, $level+1, false);
    }
  }