public function setCloud($cloud)
    {
        if ($cloud instanceof FeedCloud) {
            $this->cloud = $cloud;
        } elseif (is_array($cloud)) {
            if (!empty($cloud)) {
                $this->cloud = FeedCloud::createFromArray($cloud);
            }
        } elseif (is_null($cloud)) {
            $this->cloud = null;
        } else {
            throw new \InvalidArgumentException('Invalid cloud');
        }

        return $this;
    }