/**
  * Constructor
  *
  * @param string $caption
  * @param string $name
  * @param mixed  $value    Pre-selected value (or array of them).
  */
 public function __construct($caption, $name, $value = null)
 {
     /** @var XoopsMemberHandler $member_handler */
     $member_handler = xoops_getHandler('member');
     $userGroups = $member_handler->getGroupList();
     parent::__construct($caption, $name, $value);
     $this->columns = 3;
     foreach ($userGroups as $group_id => $group_name) {
         $this->addOption($group_id, $group_name);
     }
 }