static public function getClasses($type)
    {
        switch ($type) {
            case static::TYPE_FORM:
                return [CartInterface::class];
            case static::TYPE_QUOTE:
                return [QuoteInterface::class];
            case static::TYPE_PROFORMA:
                return [QuoteInterface::class, OrderInterface::class];
            case static::TYPE_CONFIRMATION:
                return [OrderInterface::class];
            case static::TYPE_VOUCHER:
                return [];
            default:
                throw new InvalidArgumentException("Unexpected type '$type'.");
        }
    }