public function submit(UserInterface $user, $locale, &$orderWasSubmitted = true, &$originalCart = null)
    {
        $orderWasSubmitted = true;

        $cart = $this->getUserCart($user, $locale, null, false, true);
        $originalCart = $cart;

        // In case of errors, do not submit cart.
        if (count($cart->getCartErrorCodes()) > 0) {
            $orderWasSubmitted = false;

            return $cart;
        }

        $orderWasSubmitted = $this->submitCartDirectly($cart, $user, $locale);

        return $this->getUserCart($user, $locale);
    }