protected function getCacheItem($key, $item, $defaultKey, $defaultItem = null)
    {
        if (empty($cache = $this->getCache($key, $defaultKey))) {
            return $defaultItem;
        }
        if (!is_array($cache)) {
            throw new DirectAdminException("Cache item $key is not an array");
        }
        return isset($cache[$item]) ? $cache[$item] : $defaultItem;
    }