public function guard($identifier, $context = '')
    {
        foreach ($this->getGuardians() as $guardian) {
            
            if ($guardian instanceof ContextualMetadataGuardian && $guardian->getContext() !== $context) {
                continue;
            }
            
            if ($this->hasMetadataValue($identifier)) {
                \common_Logger::i(__('Guard for resource "%s"...', $identifier));
                if (($guard = $guardian->guard($this->getMetadataValue($identifier))) !== false) {
                    return $guard;
                }
            }
        }
        return false;
    }