public function canPlace(Order $order)
    {
        if (!$order) {
            $this->error(_t(__CLASS__ . ".NoOrder", "Order does not exist."));
            return false;
        }
        //order status is applicable
        if (!$order->IsCart()) {
            $this->error(_t(__CLASS__ . ".NotCart", "Order is not a cart."));
            return false;
        }
        //order has products
        if ($order->Items()->Count() <= 0) {
            $this->error(_t(__CLASS__ . ".NoItems", "Order has no items."));
            return false;
        }

        return true;
    }