protected function _is_resource_writable($resource)
    {
        // if resource does not exist -> we check the level before current level (..)
        // (can be either file or folder) for existence and it it's writable
        if (!$this->_resource_exists($resource)) {
            $realResource = dirname($resource);
        } else {
            $realResource = $resource;
        }

        // now check
        if (!$this->_is_writable($realResource)) {
            return false;
        }

        // file|folder is writable
        return true;
    }