/// <summary>
        /// Internal method to handle an order.
        /// </summary>
        protected virtual void HandleOrder(Order order)
        {
            Console.WriteLine("Processing Order:");
            Console.WriteLine("---------------------------------------------------");
            Console.WriteLine(order.ToString());
            // Fetch the order items in each order
            orderFetcher.FetchOrderItems(order.AmazonOrderId, delegate(OrderItem item)
            {
                Console.WriteLine("\tProcessing Order Item");
                Console.WriteLine("\t---------------------------------------------------");                // Process order item here.
                Console.WriteLine("\t" + item.ToString().Replace("\n", "\n\t"));
            });

            Console.WriteLine("=================================================");
            Console.WriteLine();
        }
        /// <summary>
        /// Sample code to invoke the OrderFetcher to retrieve Orders and OrderItems.
        /// </summary>
        /// <param name="service">MarketplaceWebServiceOrders object.</param>
        public static void InvokeOrderFetcherSample(MarketplaceWebServiceOrders service, string sellerId, string[] marketplaceIdList)
        {
            OrderFetcher fetcher = new OrderFetcher(service, sellerId, marketplaceIdList);

            // Process each order as it comes in
            fetcher.ProcessOrder += delegate(Order order)
            {
                Console.WriteLine(order.ToString());
                // Fetch the order items in each order
                fetcher.FetchOrderItems(order.AmazonOrderId, delegate(OrderItem item)
                {
                    // Process order item here.
                    Console.WriteLine("\t" + item.ToString());
                });

                Console.WriteLine("=================================================");
                Console.WriteLine();
            };

            // Fetch all orders from 1 day ago
            fetcher.FetchOrders(DateTime.Now.Subtract(TimeSpan.FromDays(1)));
        }
        /// <summary>
        /// Sample code to invoke the OrderFetcher to retrieve Orders and OrderItems.
        /// </summary>
        /// <param name="service">MarketplaceWebServiceOrders object.</param>
        public static void InvokeOrderFetcherSample(MarketplaceWebServiceOrders service, string sellerId, string[] marketplaceIdList)
        {
            OrderFetcher fetcher = new OrderFetcher(service, sellerId, marketplaceIdList);

            // Process each order as it comes in
            fetcher.ProcessOrder += delegate(Order order)
            {
                Console.WriteLine(order.ToString());
                // Fetch the order items in each order
                fetcher.FetchOrderItems(order.AmazonOrderId, delegate(OrderItem item)
                {
                    // Process order item here.
                    Console.WriteLine("\t" + item.ToString());
                });

                Console.WriteLine("=================================================");
                Console.WriteLine();
            };

            // Fetch all orders from 1 day ago
            fetcher.FetchOrders(DateTime.Now.Subtract(TimeSpan.FromDays(1)));
        }