public static function create($body, DescriptionFactory $descriptionFactory = null, Context $context = null) {
            Assert::integerish($body, self::MSG);
            Assert::greaterThanEq($body, 0, self::MSG);
            Assert::notNull($descriptionFactory);

            return new static($descriptionFactory->create($body, $context));
        }