public static function getList(bool $full = false)
    {
        $class = get_called_class();
        if (empty(self::$list[$class])) {
            self::$list[$class] = self::loadList();
        }
        
        $list = self::$list[$class];
        
        foreach ($list as $name => $sid) {
            if (static::isHidden($name)) {
                if (!$full)
                    unset($list[$name]);
                else
                    $list = self::updateHiddenValue($list, $name);
            }
        }

        return $list;
    }