public function channelGroupList(array $filter = array())
    {
        if ($this->cgroupList === null) {
            $this->cgroupList = $this->request("channelgrouplist")->toAssocArray("cgid");

            foreach ($this->cgroupList as $cgid => $group) {
                $this->cgroupList[$cgid] = new Channelgroug($this, $group);
            }

            uasort($this->cgroupList, array(__CLASS__, "sortGroupList"));
        }

        return $this->filterList($this->cgroupList, $filter);
    }