public function save($destination = null)
    {
        if (empty($destination)) {
            $destination = $this->source;
        }

        $this->image->save($destination);

        // Clear the cached file size and refresh the image information.
        clearstatcache();

        chmod($destination, 0644);

        return new self($destination);
    }