public function setRevision($revision)
    {
        if (!in_array((int) $revision, self::REVISION)) {
            throw new InvalidArgumentException(sprintf(
                'The value "%s" is not a recognized revision number. Allowed revisions are: %s',
                $revision,
                implode(', ', self::REVISION)
            ));
        }
        $this->revision = (int) $revision;

        return $this;
    }